В версии neo4j 3.5 apoc.create.vRelationship не возвращает атрибуты ребра.

Вопрос или проблема

Вот мой запрос на Cypher. Я не знаю, связано ли это с тем, что мой запрос написан в виде проблемы, или с тем, что версия 3.5 APOC не поддерживает прямой запрос атрибутов рёбер. Я проверил официальную документацию и не нашёл никакой релевантной информации.

match (first1:ent) where first1.nodeid in ['aab40c4d65d5c0a428ed84dc0109b0c4']
match (first2:ent) where first2.nodeid in ['000415fee2b0272cdcc2439f521b2e2e']
CALL apoc.create.vRelationship(first1,'teninvmerge',{conprop:'11'},first2) YIELD rel 
RETURN rel,rel.conprop

вставьте описание изображения здесь

Я хотел бы получить свойства виртуального рёбра, которое я установил, непосредственно.

Ответ или решение

Конечно! Давайте разберем вашу проблему с использованием функции apoc.create.vRelationship в Neo4j 3.5 и доступом к атрибутам создаваемого ребра.

Ваш запрос выглядит корректно, и вы правильно используете функцию apoc.create.vRelationship, чтобы создать виртуальное ребро с заданными свойствами. Однако, проблема в том, что свойства, которые вы устанавливаете для виртуального ребра, будут недоступны напрямую через rel.conprop в том контексте, в котором вы это делаете.

Когда вы создаете виртуальное ребро с помощью apoc.create.vRelationship, функция возвращает объект rel, которым можно управлять, но атрибуты ребра не будут доступны как свойства объекта rel. Поэтому, чтобы получить атрибуты, вам нужно использовать RETURN с явным указанием полей, поскольку можно обратиться к свойствам через коллекцию свойств.

Попробуйте изменить ваш запрос следующим образом:

MATCH (first1:ent) WHERE first1.nodeid IN ['aab40c4d65d5c0a428ed84dc0109b0c4']
MATCH (first2:ent) WHERE first2.nodeid IN ['000415fee2b0272cdcc2439f521b2e2e']
CALL apoc.create.vRelationship(first1, 'teninvmerge', {conprop: '11'}, first2) YIELD rel 
RETURN rel, properties(rel) AS edgeProperties

В этом запросе модификация заключается в том, что мы добавили properties(rel) AS edgeProperties, что позволяет вам получить все свойства создаваемого ребра.

Таким образом, результат вашего запроса будет содержать информацию о ребре и его свойства.

Надеюсь, это поможет вам решить вашу проблему с получением атрибутов виртуального ребра! Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться.

Оцените материал
Добавить комментарий

Капча загружается...