Neo4j cql ведет себя по-разному в Windows и Linux - PullRequest
0 голосов
/ 30 апреля 2018

Я создал следующую связь в Nodejs.

CREATE (s1:service {name:'service A'})
CREATE (s2:service {name:'service B'})
CREATE (s3:service {name:'service C'})

MATCH (s1:service {name:'service A'}),(s2:service {name:'service B'}),(s3:service {name:'service C'})
MERGE (s1)-[:calls]->(s2)
MERGE (s1)-[:invokes]->(s3)
MERGE (s2)-[:calls]->(s3)

И когда я запускаю следующий cql в Windows, я получаю график, подобный приведенному ниже.

MATCH p=(:service)-[:calls]->(:service)-[:calls]->(:service) return p

enter image description here

И для того же cql-запроса neo4j в linux возвращает другой граф, в котором отношение "вызывает" не ожидается.

enter image description here

Я не смог найти много помощи в документации, относящейся к этому. Может кто-нибудь помочь по этому вопросу?

1 Ответ

0 голосов
/ 30 апреля 2018

Это может быть связано только с разницей в настройках браузера neo4j, используемых для просмотра результатов 2 запросов.

Когда включен режим автозаполнения, браузер neo4j покажет все отношения между возвращенными узлами - даже отношения, которые ваш запрос Cypher не возвратил. (Если вы просматриваете текстовый результат вместо графического, вы должны увидеть ожидаемые результаты.)

Чтобы проверить, включен ли этот параметр, введите эту команду в браузере neo4j, который вы используете для linux:

:config

Если возвращенная карта содержит "autoComplete": true, вы можете отключить эту настройку, введя следующую команду:

:config autoComplete:false

После отключения режима «автозаполнение» повторите запрос. Визуализация графика больше не должна показывать дополнительные отношения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...