짐이 알고있는 모든 사람들을 알고 그 다음에 체인과 같은 것을 아는 사람들을 찾기 위해 SPARQL 쿼리를 만들려고합니다. 다른 결과를 병합하는 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: clare, antoine, jim, david, david, clare, clare, david, clare, clare, jim, david.
을 한 후 중복을 제거하기 위해 DISTINCT
을 사용 : 그래서 result4
이 될 것입니다. 어떻게하면 좋을까요?
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 .
}
}
1000 명이 좋아요. 나는 구조가 다소 다르며 매력처럼 작동합니다. TYVM !!! – user3358377