2016-03-06 56 views
1

我正在使用DBpedia公共端點http://dbpedia.org/sparql,但我懷疑它設置了返回結果數量的限制。我不確定,只是想確認。例如,這兩個查詢:SPARQL DBpedia公共端點的查詢結果

select distinct ?property 
where { 
    ?property <http://www.w3.org/2000/01/rdf-schema#domain> <http://dbpedia.org/ontology/Person> . 
} 


select distinct ?property 
where { 
    ?instance a <http://dbpedia.org/ontology/Person> . 
    ?instance ?property ?obj . 
} 

我希望第二個返回更多的結果比第一次因爲雖然他們都問了「人」的屬性,第二個檢索的性能在架構中不明確。但奇怪的是,第二個只返回一個結果。我想知道終端是否對返回的結果設置了限制,以及如何更改此限制。如果我想檢索完整的信息,我是否真的需要設置DBpeida的本地實例?

回答

0

有一個極限,但其實不是這樣的,你出現了意外的結果到第二查詢(從dbpedia.org/sparql)的原因:

  • 第二屆查詢工作在live.dbpedia.org細所以必須有目前dbpedia.org端點出現問題(正在加載新版本?)

關於DBPedia結果限制以及如何解決此問題:How to get all companies from DBPedia?

UPDATE:第2個查詢返回從dbpedia.org/sparql更多的結果,如果查詢的一部分是可選的子句中:

select distinct ?property 
where { 
    ?instance a <http://dbpedia.org/ontology/Person> . 
    OPTIONAL {?instance ?property ?obj . } 
} 
+0

live.dbpedia.org返回更多結果,但是是由dbpedia返回的結果是實時的完整結果還是仍然存在限制? – al3xtouch

+0

和第一個查詢現在只在dbpedia上返回一個結果,我不知道這些端點發生了什麼。 – al3xtouch

+0

如果您使用的是Web界面,可以設置超時時間並將其設置爲30秒的默認值。由於Virtuoso具有某種形式的任何時間支持,它會返回給定時間內發現的所有內容。對於'dbo:Person'的例子,它要麼是昂貴的,要麼是服務器上的負載過重。 – AKSW

0

您正在使用的Virtuoso SPARQL查詢編輯器來獲得這些結果?很奇怪。我也得到一個結果,使用該服務的rdf:type。但是,如果使用不同的工具(在我的情況TopBraid作曲),每低於SERVICE關鍵字,我看到有意義的結果,比如身高體重,別名,兒童等

select distinct ?property 
where { 
    SERVICE <http://dbpedia.org/sparql> { 
     ?instance a <http://dbpedia.org/ontology/Person> . 
     ?instance ?property ?obj . 
    } 
} 

很可能是一個問題使用Virtuoso SPARQL查詢編輯器。