我正在尝试在SPARQL中创建一个查询:
给定两个或更多节点(选定的子节点)及其父子关系,产生:
所选儿童中最不常见的父母
每个孩子最不常见父母的最短路径
我在Neo4j中使用以下代码*(Cypher)执行此操作:
MATCH (children) where children.label IN ["rope", "pope", "dope"]
MATCH (root) where root.label="entity"
WITH * WHERE id(children) < id(root)
MATCH path = allShortestPaths( (children)-[*..100]->(root) )
RETURN path
我知道&#34;最高共同祖先&#34;虽然在这种情况下是(根),并且正在检查从找到的子项到它的路径。
我想知道如何使用SPARQL(1.1)解决这些问题,以及是否可以执行这些类型的查询(如果是,则有效)。
我的示例RDF数据是WordNet RDF三元组和&#34; hypernym&#34;节点之间的关系。