You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working on a graph db benchmark and I have a specific use case that might often occurred which is : create an edge without knowing the type of the source or the target nodes.
I can make it works using inheritance in SQL, creating a Node type, which is extended by all my types :
Create types :
CREATE VERTEX TYPE Node;
CREATE VERTEX TYPE Transaction EXTENDS Node;
CREATE VERTEX TYPE City EXTENDS Node;
Create Nodes :
INSERT INTO Transaction set id = "A"
INSERT INTO City set id = "B"
Then I can query my ingested objects without knowing if they are of types Transaction or City :
SELECT FROM Node WHERE id = 'id_source'
CREATE EDGE Relation_Type FROM (SELECT FROM Node WHERE id = 'A') TO (SELECT FROM Node WHERE id = 'B') IF NOT EXISTS
Nevertheless, I would like to be able to create the same mechanism with Cypher.
The problems are :
the inheritance does not seem replicated to the graph model and then not accessible via Cypher.
multi-label mechanism does not seem available in ArcadDB. For example, this CYPHER query is not working : CREATE (n:Transaction:Node {id: 'some_id'})
Unlabeled Cypher queries does not seem to be scalable (MATCH (n) WHERE n.id = "some_id" RETURN n). One reason of this is that we can't benefit from indexes to get optimized access to nodes.
Activity
Cypher and Gremlin fixed query with inheritance
chore(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from …
Cypher and Gremlin fixed query with inheritance
chore(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from …