Этот запрос ниже обычно работает, когда у меня есть совпадение на c_from
и c_to
:
MATCH (u:User {uid: $userId})
WITH u UNWIND $statements as statement
WITH u, statement
UNWIND statement.conceptsRelations as conceptsRelation
MATCH (c_from:Concept{name: conceptsRelation.from})
MATCH (c_to:Concept{name: conceptsRelation.to})
CREATE (c_from)-[:TO {context:conceptsRelation.context,statement:conceptsRelation.statement,user:u.uid,timestamp:conceptsRelation.timestamp, uid:apoc.create.uuid(), gapscan:conceptsRelation.gapscan, weight: conceptsRelation.weight}]->(c_to)
WITH u, statement
UNWIND statement.mentionsRelations as mentionsRelation
MATCH (m_from:Concept{name: mentionsRelation.from})
MATCH (m_to:Concept{name: mentionsRelation.to}) return m_from, m_to
Однако, как только у меня не будет совпадений, последняя часть запроса (последняя UNWIND
) не будет выполнена. Я проверил это, удалив 2-й UNWIND
, а затем третий снова работает Как в:
MATCH (u:User {uid: $userId})
WITH u UNWIND $statements as statement
WITH u, statement
UNWIND statement.mentionsRelations as mentionsRelation
MATCH (m_from:Concept{name: mentionsRelation.from})
MATCH (m_to:Concept{name: mentionsRelation.to}) return m_from, m_to
На всякий случай, мои параметры:
{
"userId": "15229100-b20e-11e3-80d3-6150cb20a1b9",
"contextNames": [
{
"uid": "af8debb0-1f71-11e9-a572-691cc47b060f",
"name": "dsfasdf"
}
],
"statements": [
{
"text": "@submit desire",
"concepts": [
"desire"
],
"mentions": [
"@submit"
],
"timestamp": 15482915128250000,
"name": "#desire @@submit ",
"uid": "2bd1f170-1f73-11e9-a508-0d8a16ad5cf6",
"uniqueconcepts": [
"desire"
],
"conceptsRelations": [],
"mentionsRelations": [
{
"from": "desire",
"to": "@submit",
"context": "af8debb0-1f71-11e9-a572-691cc47b060f",
"statement": "2bd1f170-1f73-11e9-a508-0d8a16ad5cf6",
"user": "15229100-b20e-11e3-80d3-6150cb20a1b9",
"timestamp": 15482915128250000,
"uid": "apoc.create.uuid()",
"gapscan": "1",
"weight": 3
}
],
"uniquementions": [
"@submit"
]
}
],
"timestamp": 15482915128250000
}
Это кажется странным нелогичным поведением. Есть идеи, почему это возникает? Спасибо!