Skip to content

Review of existing network query languages #2

@clemsos

Description

@clemsos

I am going to list here some query languages for graphs that exists

Cypher

MATCH (node:Label) RETURN node.property

MATCH (node1:Label1)-->(node2:Label2)
WHERE node1.propertyA = {value}
RETURN node2.propertyA, node2.propertyB

Gremlin

user--rated[stars:0-5]-->movie
user--occupation-->occupation
movie--category-->category

gremlin> g.V().hasLabel('movie').values('year').min()

NQL

inspired by SQL -based attempt

SELECT (name like 'Roman*Empire*') 
/ [  
    depth='5' 
    USEONLY (CHN_TYPE='COUNTRY' name='country-previous-next') 
  ]
/ (name like '*Empire*') 
LIMIT 100

Facebook Graph (user search query)

notes : how the parser works

places that people who work at x visited
movies liked by people who visited x
movies liked by people who visited x-city/state

SPARQL (RDF)

SELECT ?title
WHERE
{
  <http://example.org/book/book1> <http://purl.org/dc/elements/1.1/title> ?title .
}    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions