Neo4j Дублирующие отношения с запросом на совпадение - PullRequest
0 голосов
/ 20 января 2020

Итак, у меня есть следующий график:

neo

В левом нижнем углу есть маленький треугольник узлов. Между 2 узлами существует двойное отношение (т. Е. Отношение от узла A к узлу B и отношение от узла B к узлу A).

Все отношения имеют идентификаторы GUID в качестве одного из своих свойств. Сейчас я пытаюсь выбрать эти 2 отношения и вернуть данные, но всякий раз, когда я делаю это, я получаю дубликаты для идентификаторов узлов, которые не существуют. Это почти как если бы Neo4j удалил узел, но сохранил остатки его длинного значения ID.

Я пробовал этот запрос:

MATCH ()-[relationship1]-() 
WHERE relationship1.id IN ['9eb0eb49-8cfe-4749-98bb-8077a059c3e1','eec0efe2-b924-407b-ac05-1cd00e94b581']
RETURN DISTINCT relationship1

Я также пытался указать направленность отношений с этим запросом:

MATCH ()-[relationship1]->() 
WHERE relationship1.id IN ['9eb0eb49-8cfe-4749-98bb-8077a059c3e1','eec0efe2-b924-407b-ac05-1cd00e94b581']
RETURN DISTINCT relationship1

Оба раза я получаю эти данные:

[
  {
    "relationship1": {
      "identity": 435,
      "start": 347,
      "end": 349,
      "type": "unitTestRelationship",
      "properties": {
        "lastUpdated": "2019-12-30T00:01:00+02:00",
        "systemId": "00 00001 2020 0 0",
        "id": "9eb0eb49-8cfe-4749-98bb-8077a059c3e1",
        "testNumber": 1011
      }
    }
  },
  {
    "relationship1": {
      "identity": 434,
      "start": 349,
      "end": 347,
      "type": "unitTestRelationship",
      "properties": {
        "lastUpdated": "2019-12-30T00:01:00+02:00",
        "systemId": "00 00001 2020 0 0",
        "id": "eec0efe2-b924-407b-ac05-1cd00e94b581",
        "testNumber": 2005
      }
    }
  },
  {
    "relationship1": {
      "identity": 467,
      "start": 363,
      "end": 362,
      "type": "unitTestRelationship",
      "properties": {
        "lastUpdated": "2019-12-30T00:01:00+02:00",
        "systemId": "00 00001 2020 0 0",
        "id": "eec0efe2-b924-407b-ac05-1cd00e94b581",
        "testNumber": 2005
      }
    }
  },
  {
    "relationship1": {
      "identity": 468,
      "start": 362,
      "end": 363,
      "type": "unitTestRelationship",
      "properties": {
        "lastUpdated": "2019-12-30T00:01:00+02:00",
        "systemId": "00 00001 2020 0 0",
        "id": "9eb0eb49-8cfe-4749-98bb-8077a059c3e1",
        "testNumber": 1011
      }
    }
  }
]

Таким образом, данные показывают дубликаты, но затем, если я просто запускаю запрос MATCH для всех узлов и отношений, я получаю, что идентификаторы отношений должны быть (467, 468), а идентификаторы узлов должны быть (362, 363).

Так откуда берутся первые 2 JSON записи?

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