如何select每一对在同一家公司工作并且彼此认识的人?
How to select every pair of persons who work in the same firm and know each other?
我正在尝试构建一个 SPARQL 查询,其中 return 包含在同一家公司工作且彼此认识的每一对人。
我试过:
SELECT distinct ?x ?y ?z
WHERE { ?x ex:knows ?y . {?x ex:worksFor ?z}} ORDER BY (?z)
这给了我 2 列员工和一列公司。每个公司有3个人。它应该 return 'pairs'。谁能看到我如何改进查询?
这里你需要一些东西。首先,您还需要确保 ?y worksFor ?z。然后,如果您只想要来自 ex:knows、select 的对,只有 ?x 和 ?y:
SELECT DISTINCT ?x ?y
WHERE {
?x ex:knows ?y .
?x ex:worksFor ?z .
?y ex:worksFor ?z .
} ORDER BY ?z
我正在尝试构建一个 SPARQL 查询,其中 return 包含在同一家公司工作且彼此认识的每一对人。
我试过:
SELECT distinct ?x ?y ?z
WHERE { ?x ex:knows ?y . {?x ex:worksFor ?z}} ORDER BY (?z)
这给了我 2 列员工和一列公司。每个公司有3个人。它应该 return 'pairs'。谁能看到我如何改进查询?
这里你需要一些东西。首先,您还需要确保 ?y worksFor ?z。然后,如果您只想要来自 ex:knows、select 的对,只有 ?x 和 ?y:
SELECT DISTINCT ?x ?y
WHERE {
?x ex:knows ?y .
?x ex:worksFor ?z .
?y ex:worksFor ?z .
} ORDER BY ?z