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