다음 SPARQL 쿼리는 Virtuoso에서 DISTINCT 절이 사용되는 경우에도 중복을 제공합니다. DBpedia public endpoint에서 검색어를 테스트 할 수 있습니다. 어떤 질문에 문제가 있습니까? SPARQL DISTINCT는 Virtuoso에서 중복을 제공합니다
결과
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX dbpedia:<http://dbpedia.org/resource/>
PREFIX dbpedia-owl:<http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
PREFIX vrank:<http://purl.org/voc/vrank#>
SELECT DISTINCT ?person1 ?person1_id ?person2 ?person2_id ?person2_rank
FROM <http://dbpedia.org>
FROM <http://people.aifb.kit.edu/ath/#DBpedia_PageRank>
WHERE {
?person1 rdf:type dbpedia-owl:Person.
?person2 rdf:type dbpedia-owl:Person.
?person1 ?link ?person2.
?person1 dbpedia-owl:wikiPageID ?person1_id.
?person2 dbpedia-owl:wikiPageID ?person2_id.
?person2 vrank:hasRank/vrank:rankValue ?person2_rank.
FILTER (?person1_id != ?person2_id).
FILTER (?person1_id = 308)
} ORDER BY DESC(?person2_rank) ASC(?person2_id)
중복 것으로 보인다 행, 예컨대 :
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Democritus 8211 27.281
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Democritus 8211 27.281
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Heraclitus 13792 26.6914
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Heraclitus 13792 26.6914
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Parmenides 23575 19.6082
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Parmenides 23575 19.6082
는 쿼리의 서식이 깨진처럼, 적어도 난 단지 그 부분으로 볼 수 있습니다 같은데. – AKSW
@AKSW 깨지지 않았습니다. 'select distinct ... {'부분 만 게시했습니다. 왜냐하면 그 부분이 모두 바뀌었기 때문입니다. 이것이 내가 "예를 들어 자신의 어휘 양식을 선택하십시오"와 같은 부분으로 인도 한 이유입니다. –
아, 이제 알았어. – AKSW