Могу ли я запросить базу данных neo4j с помощью Javascript?

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

Могу ли я запросить базу данных neo4j с помощью Javascript?

но теперь я хочу запросить эти данные из базы данных 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.info(result);

        })
        .fail(function(error){
            console.info(error.statusText);
        });
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
504
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

Вы можете загрузить драйвер и включить его в свой 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>
Ответ принят как подходящий

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

сначала URL-адрес базы данных: «http: // локальный: 7474 / БД / данные / транзакция / фиксация», а не «http: // локальный: 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.info(result);
            }) 
            .fail(function(error){
                console.info(error.statusText);
            });

Ответ Раджендры Кадама правильный.

Для начала вам необходимо установить neo4j-driver:

npm install neo4j-driver

в каталоге, вероятно, на один уровень выше, чем каталог web/ вашего сервера node.js.

Затем вам нужно поместить neo4j-web.min.js в каталог web/, где может загружаться ваш клиентский JavaScript.

Затем вы добавляете строку в свой HTML:

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

Файл neo4j-web.min.js находится в node_modules/neo4j-driver/lib/browser/.

Затем в клиентском JavaScript введите:

var driver = neo4j.driver(
    'neo4j://localhost',
    neo4j.auth.basic('neo4j', 'password') );

Тогда вы успешно открыли драйвер. (Возможно, вам придется установить пароль правильно, иначе вы получите ошибку аутентификации.)

Обратите внимание, что вам НЕ нужна эта строка в вашем клиентском JavaScript:

var neo4j = require('neo4j-driver');

потому что это для на стороне сервераnode.js.

Другие вопросы по теме