我正在尝试构建一个SPARQL查询,该查询返回在同一个公司工作且彼此了解的每一对人。
我试过了:
SELECT distinct ?x ?y ?z
WHERE { ?x ex:knows ?y . {?x ex:worksFor ?z}} ORDER BY (?z)
这给了我2列员工和一列公司。每家公司有3个人。它应该返回'对。任何人都可以看到我如何改进查询?
答案 0 :(得分:1)
这里你需要做几件事。首先你还需要确保?y worksFor?z。然后,如果你只想要ex:knows中的对,那么只选择?x和?y:
SELECT DISTINCT ?x ?y
WHERE {
?x ex:knows ?y .
?x ex:worksFor ?z .
?y ex:worksFor ?z .
} ORDER BY ?z