1
我想创建一个SPARQL查询来查找Jim知道的所有人,然后找到Jim知道哪些人知道,然后像链一样的东西。Sparql,如何合并不同的结果
比如我有一个:
Jim knows Clare and Antoine
Clare knows Jim and David
Antoine knows David and Clare
David knows Clare
所以结果则:
result1: Clare, Antoine
result2: Jim, David, David, Clare
result3: Clare, David, Clare, Clare, Jim, David
或多或少我已经像一棵树。
我想要的是将result1
,result2
和result3
合并为result4
。所以result4
将是:
result4: clare, antoine, jim, david, david, clare, clare, david, clare, clare, jim, david.
,然后用DISTINCT
以便移除重复的。我该如何做到这一点?
SELECT ?Result1 ?Result2 ?Result3
WHERE{
{
base:Knows dc:Names _:BN1 .
_:BN1 dc:FName "Jim";
dc:KnownFName ?Result1 .
}
.
{
base:Knows dc:Names _:BN2 .
_:BN2 dc:FName ?Result1;
dc:KnownFName ?Result2 .
}
.
{
base:Knows dc:Names _:BN3 .
_:BN3 dc:FName ?Result2;
dc:KnownFName ?Result3 .
}
}
一千喜欢....我或多或少的结构和作品像一个魅力。 TYVM! – user3358377