Posiadam relacje między węzłami, które są ważne tylko przez określony czas. Prosty przykład: Osoba P mieszkała pod adresem A od czasu t1 do czasu t2. Mogę umieścić właściwość validFrom i validUntil w relacji, ale przy użyciu cypher, mam do filer to w klauzuli WHERE, ale chciałbym go w klauzula MATCH.Relacje Neo4J z ograniczeniami czasowymi
Powodem, dla którego chcę tego w klauzuli MATCH, jest to, że może on potencjalnie przejść przez duży podgraph, ale później dowie się, że większość z nich można zignorować. Dzieje się tak zwłaszcza w przypadku dużego zestawu historycznych relacji.
Mogę wykonać seperate validFrom i validUntil relacje do określonych węzłów daty. W ten sposób mogę użyć MATCH. Byłoby to OK, jeśli mam ograniczony zestaw takich węzłów czasowych, ale kiedy mam przechowywać znaczniki czasu, nie jest to praktyczne.
Jak zoptymalizować Cyphera do tego typu zapytań? Jak wycinać w czasie wykres z węzłami i relacjami mającymi wskaźniki czasu ważności?
Cypher automatycznie ściąga wyrażeń do klauzul meczu w miarę możliwości, więc są one oceniane, jak tylko mogą być. –
Czy rzeczywiście możesz pokazać swoje zapytanie? –
Czy znalazłeś rozwiązanie, które działało w tym celu? – John