Я пытаюсь создать зашифрованный запрос для двух сценариев:
- Тесты с глубиной более 2
- Конкретный тест с глубиной большечем 2
Как и на рисунке, вы можете видеть, что тесты 1, 2, 3 в некоторой степени связаны с глубиной, превышающей 2. Шифр, который я запустил, был:
MATCH p=()<-[r:TEST_FOR*..10]-() RETURN p LIMIT 50
Теперь, когдаЯ изменил свой шифр на ниже, тогда я не получаю никаких записей / результатов или узлов.
1) MATCH p=()<-[r:TEST_FOR*2..5]-() RETURN p LIMIT 50
2) MATCH p=()<-[r:TEST_FOR*2]-() RETURN p LIMIT 50
3) MATCH p=(d:Disease)<-[r:TEST_FOR*]-(t:Tests) WHERE t.testname = 'Alkaline Phosphatase (ALP)' RETURN p
4) MATCH p=()<-[r:TEST_FOR*..10]-(t:Tests {testname:'Alkaline Phosphatase (ALP)'}) RETURN p LIMIT 50
Когда я запускаю запросы 3 и 4 выше, я получаю те же результаты, то есть 1 тест с 5 заболеваниями, но это не такПродолжим дальше для этого конкретного теста.
Но если вы видите изображение, тест связан с двумя другими тестами!Моя структура выглядит следующим образом:
- Тесты (имя теста)
- Болезнь (имя болезни, сделал)
- Linknode (parentdieaseid, имя теста)
Я использовал приведенный ниже запрос для создания отношений "TEST_FOR"
match(d:Disease), (l:Linknode) where d.did = l.parentdiseaseid
with d, l.testname as name
match(t:Test {testname:name}) create (d)<-[:TEST_FOR]-(t);