如何通过Javascript访问Neo4j数据集?

时间:2014-11-30 12:31:08

标签: javascript neo4j cypher

我想知道如何通过Javascript访问我在Neo4j上的(示例)数据集,即我有一个电影数据集,所以我想通过本地html页面获取和接收查询?你可能想知道,我是一个非常初学者,如果有人会一步一步向我解释,我真的很感激:)

提前致谢

3 个答案:

答案 0 :(得分:2)

您可以通过http事务端点

访问Neo4j图形数据库

http://neo4j.com/docs/stable/rest-api-transactional.html

并发出密码查询以查询您的图表。

由于它是一个http端点,您可以使用正常的ajax请求访问它,例如用jquery

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);
            });

答案 1 :(得分:0)

使用本地html页面,我认为你的意思是jquery?

一般来说,对于Javascript,neo4j有很多驱动程序,请参阅http://neo4j.com/developer/javascript

如果您想查找jquery,请查看http://jexp.github.io/cy2neo (来源:https://github.com/jexp/cy2neo/blob/master/scripts/neo.js#L7

答案 2 :(得分:0)

请注意,您还需要添加“身份验证”,这是通过名为 beforeSend 的ajax函数完成的:

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

数据库的路径也是“ http://localhost:7474/db/data/transaction/commit”而不是“ http://localhost:7474/

所以最终的解决方案是:

$.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);
            });