Могу ли я запросить базу данных neo4j с помощью Javascript? - PullRequest
0 голосов
/ 14 января 2019

Я создал базу данных geohash neo4j для данных такси Нью-Йорка. Теперь следующий шаг - визуализировать его на карте, для этого я выбрал Leaflet в качестве библиотеки Javascript. со статическими данными я могу построить данные геохеша в Leaflet:

geohash-leaflet

но теперь я хочу запросить эти данные из базы данных neo4j и отобразить их.

так возможно ли это сделать или только с помощью языка сценариев на стороне сервера (node.js, php ...)?

Обновление

я нашел симлаирский вопрос здесь , решение состоит в том, чтобы запросить базу данных с помощью 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);
        });

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Я нахожу решение:

первый 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);
            });
0 голосов
/ 15 января 2019

Можно запросить Neo4j из клиентского Javascript с помощью драйвера Neo4j для JavaScript .

Я использовал это в нескольких проектах.

Вы можете скачать драйвер и включить его в свой HTML-файл, например:

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

Или просто используйте ссылку CDN, например:

<script src="https://unpkg.com/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.min.js"></script>
...