DBPedia-France(fr.dpbedia.org/sparql)查询给出了与调用另一个结果不同的结果

时间:2019-02-05 20:58:34

标签: sparql dbpedia

我正在致电http://fr.dbpedia.org/sparql  以下SPARQL查询:

prefix owl: <http://www.w3.org/2002/07/owl#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>

select distinct ?lcs  where {

   {
     ?lcs ^(rdf:type/rdfs:subClassOf*)   <http://fr.dbpedia.org/resource/Honoré_Daumier> , 
                                         <http://fr.dbpedia.org/resource/Auguste_Rodin>;
        a owl:Class .
        filter not exists {
           ?llcs ^(rdf:type/rdfs:subClassOf*)  <http://fr.dbpedia.org/resource/Honoré_Daumier> , 
                                               <http://fr.dbpedia.org/resource/Auguste_Rodin>;
           a owl:Class ;
           rdfs:subClassOf+ ?lcs .
        }
   }
 }

在某些通话中,我得到http://dbpedia.org/ontology/Person,在其他通话中,我得到了http://dbpedia.org/ontology/Personhttp://dbpedia.org/ontology/Agent,并且与其他人一起得到了先前的答案以及http://www.w3.org/2002/07/owl#Thing

,没有任何内容知道响应未完成。如果结果是随机的,如何使用结果

1 个答案:

答案 0 :(得分:1)

您的查询无法按预期运行的主要原因是:数据是i)拆分为单独的图,并且ii)并非所有图都已添加到默认图。

为简短起见,实例数据包含在图http://fr.dbpedia.org中,而模式三元组只能通过http://dbpedia.org图访问。有时,如果未提供任何图,则将某些图的并集用作默认图,它将作为查询时的数据集。不幸的是,这不适用于法语DBpedia端点,仅将使用实例数据图。

您可以通过以下方式进行检查

DESCRIBE <http://dbpedia.org/ontology/Person>

当没有显式使用图或图http://fr.dbpedia.org时为空,而图http://dbpedia.org则为非空。

定义默认图形的方法是使用关键字FROM。对于您的查询,因此应为

prefix owl: <http://www.w3.org/2002/07/owl#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>

select distinct ?lcs  
from <http://fr.dbpedia.org> 
from <http://dbpedia.org> 
where {
     ?lcs ^(rdf:type/rdfs:subClassOf*)   <http://fr.dbpedia.org/resource/Honoré_Daumier> , 
                                         <http://fr.dbpedia.org/resource/Auguste_Rodin>;
        a owl:Class .
        filter not exists {
           ?llcs ^(rdf:type/rdfs:subClassOf*)  <http://fr.dbpedia.org/resource/Honoré_Daumier> , 
                                               <http://fr.dbpedia.org/resource/Auguste_Rodin>;
           a owl:Class ;
           rdfs:subClassOf+ ?lcs .
        }

 }

注意,虽然这似乎返回正确的结果,但您还应该考虑@TallTed关于语言章节之间可能存在差异的评论(例如,英语vs法语Wikipedia作为来源),版本转储(2016 vs 2018甚至DBpedia Live) )以及用作后端的Virtuoso版本。