Как получить доступ к набору данных Neo4j через Javascript?
Мне интересно, как я получаю доступ к своему (примерному) набору данных, который у меня есть на Neo4j через Javascript, то есть у меня есть набор данных фильма, поэтому я хотел бы получать и получать запросы через локальную HTML-страницу? Как вы можете удивиться, я очень новичок в этом, и я очень ценю, если кто-то объяснит мне это шаг за шагом:)
заранее спасибо
2 ответа
Вы можете получить доступ к своей графической базе данных Neo4j через конечную точку транзакции http
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);
});
С локальной страницей 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).
Обратите внимание, что вам также нужно добавить "authentifcation", это делается с помощью функции ajax beforeSend:
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);
});