SPARQL:
PREFIX p: <http://www.socialnetwork.org/> SELECT ?Y WHERE { ?X p:type p:Person . ?X p:given "James" . ?Y p:parent* ?X }
Cypher:
MATCH (ancestor:Person)-[:parent*]->(james:Person) WHERE james.given="James" RETURN DISTINCT ancestor