GraphDB プラットフォーム (Neo4j、OrientDB、FlockDB、HyperGraphDB...) では、ノード間の関係を定義できます。
関係が方向に応じて異なる名前を持つように、方向関係を定義する必要があります。
例えば:
Parent(A,B) := Sibling(B,A).
次に、用語と方向の両方を使用して、グラフをトラバースまたはクエリしたいと考えています。
もちろん、2 つの関係を定義したくはありませんが、1 つのみです。
場合によっては、方向性のない名前を使用したい場合もあります。たとえば、次のようになります。
Call(A,B) := Answer(B,A);
TalkWith(A,B) := Call(A,B) || Call(B,A)
そして、方向性または間接的なトラバーサル/クエリを使用します
たとえば、次のように尋ねたいことがあります。
Get any X that TalkWith(A,X))
また
Get any X that Call(A,X))
また
Get any X that Answer(A,X))
どの既存の GraphDB プラットフォームがそれをサポートしていますか?