我可以用Javascript查询neo4j数据库吗?

问题描述 投票:-2回答:2

我为NYC Taxi数据创建了一个geohash neo4j数据库。现在,下一步是在地图中将其可视化,因为我选择了Leaflet作为Javascript库。使用静态数据我可以在Leaflet中绘制geohash数据:

geohash-leaflet

但现在我想从neo4j数据库中查询该数据并进行渲染。

所以可以这样做或仅使用服务器端脚本语言(node.js,php ...)?

Update

我发现了一个类似的问题here,解决方案是用ajax查询数据库,但它不适合我,我在控制台中得到“错误”:

var body = JSON.stringify({
            statements: [{
                statement: 'MATCH (n) RETURN count(n)'
            }]
        });
   $.ajax({
        url: "http://localhost:7474",
        type: "POST",
        data: body,
        contentType: "application/json"
    })
        .done(function(result){
            console.log(result);

        })
        .fail(function(error){
            console.log(error.statusText);
        });
javascript ajax neo4j neo4j-driver
2个回答
0
投票

可以使用Neo4j Driver for JavaScript从客户端Javascript查询Neo4j。

我在几个项目中使用过它。

您可以下载驱动程序并在HTML文件中包含如下内容:

 <script src="lib/browser/neo4j-web.min.js"></script>

或者只使用CDN链接:

<script src="https://unpkg.com/[email protected]/lib/browser/neo4j-web.min.js"></script>

0
投票

我找到了解决方案:

首先,数据库的URL是:“http://localhost:7474/db/data/transaction/commit”而不是“http://localhost:7474”。

然后在更改后我在控制台中收到了未经授权的错误,这意味着我需要将我的用户/密码添加到我的ajax调用中,这是通过一个名为beforeSend的函数完成的,如下所示:

beforeSend: function (xhr) {
                xhr.setRequestHeader ("Authorization", "Basic " + btoa("neo4j"+ ":" + "your_neo4j_password"));
            }}

所以最终的Ajax解决方案是:

$.ajax({
            url: "http://localhost:7474/db/data/transaction/commit",
            type: "POST",
            data: body,
            contentType: "application/json",
            beforeSend: function (xhr) {
                xhr.setRequestHeader ("Authorization", "Basic " + btoa("neo4j"+ ":" + "password"));
            }}
            )
            .done(function(result){
                 console.log(result);
            }) 
            .fail(function(error){
                console.log(error.statusText);
            });
© www.soinside.com 2019 - 2024. All rights reserved.