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

DBPedia France(fr.dpbedia.org/sparql)查询从一个调用到另一个调用给出不同的结果,sparql,dbpedia,Sparql,Dbpedia,我来拜访你 以下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/

我来拜访你 以下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 .
        }
   }
 }
前缀owl:
前缀rdf:
前缀rdfs:
选择不同的lcs,其中{
{
lcs^(rdf:类型/rdfs:子类*),
;
猫头鹰:上课。
筛选器不存在{
有限责任公司(rdf:类型/rdf:子类*),
;
猫头鹰:类;
rdfs:子类+?lcs。
}
}
}
在一些电话中,我得到了结果,在其他电话中,我得到了和其他人之前的答案加上


没有任何东西知道响应是不完整的。如果结果有点随机化,我如何使用它呢?

您的查询没有按预期工作的主要原因是数据I)被分割成单独的图形,ii)没有将所有图形添加到默认图形

为了简短起见,实例数据包含在图
http://fr.dbpedia.org
而模式三元组可通过
http://dbpedia.org
仅图形。有时,如果没有给出图,那么一些图的并集将被用作默认图,这将是查询时的数据集。不幸的是,这对French DBpedia端点不适用,只使用实例数据图

你可以跟我核对一下

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

注意,虽然这似乎返回正确的结果,但是你也应该考虑关于语言章节之间可能存在差异的评论(例如,英语和法语维基百科作为源代码),发布转储(2016对2018,甚至是DbPydiaLive)以及用作后端的VialoSo版本。p> 可能会提供你需要的线索。还请注意,区分基于语言的章节服务器(如fr.dbpedia.org)和主要(英文)dbpedia.org非常重要,因为前者目前运行的是2015年7月17日构建的Virtuoso开源版本07.20.3214,与后者相比,后者目前正在运行于2018年12月18日建成的企业版07.20.3230。不同版本之间的差异可能会很大(尽管在这种特定情况下可能不会如此)@老实说,我一直不明白为什么人们不更新。没花那么多时间。意大利语DBpedia也是如此(你知道,这里有一些问题问为什么SPARQL的一些功能不起作用,尽管它们在最近的版本中起作用)好的,我发现了法语DBpedia的另一个问题。模式被加载到图形

http://dbpedia.org
实例数据在
http://fr.dbpedia.org
-不幸的是,默认图形未配置为两者的并集…奇怪。工作查询需要明确地定义联合图,它可以工作:
select distinct?lcs from where…
@AKSW thanks,它似乎可以工作,但我需要澄清。您将获得和的融合结果,这可能与刚才的不同。该图只是本体还是完整的dbpedia?(并且它没有解释为什么一个给定的查询在不同的调用中给出不同的结果)对不起;我一读就误解了你问题的一部分。你是对的,我链接的文章没有提到这一点。我相信@AKSW已经正确地将“分裂图”问题诊断为原因的一部分(尽管有比他描述的更多的细微差别)。我相信在过去的4年中,有些问题会解决你遇到的其他问题(我已经ping了fr.dbpedia.org管理员,鼓励他们应用这样的更新)。你修改的查询似乎有效。好!!但它没有解释我的查询如何可能给出与另一个调用不同的结果,以及如何知道结果何时是好结果。@user10867087好的,基本上是我做的或@TallTed做的。您的查询永远无法工作,因为架构数据(即
rdfs:subassof
三元组不在查询期间使用的默认图形中)。此外,Virtuoso还有一个所谓的anytime特性,即它返回在给定时间内找到的任何内容。您的查询只返回了
dbo:Person
,这有时只是偶然的。没有“好”的结果。事实上,我们的假设应该是,结果总是可靠和完整的。关于anytime特性,响应的HTTP头应该包含部分结果iirc的提示。最后但并非最不重要的是,旧版本的Virtuoso在新版本中修复了一些属性路径问题versions@user10867087,AKSW——如果未指定(即,如果“默认数据集名称(图形IRI)”SPARQL查询表单上的框留空,如果查询中没有FROM子句,),Virtuoso将其所有图形的并集视为默认图形,这可能会导致意外和/或不期望的结果,具体取决于该实例中加载的所有图形的(内容)。这就是说,我相信如果fr.dbpedia.org更新他们的Virtuoso,您看到的不一致结果将变得一致。@Talled我知道这一点,但在文本框中没有指定图形,图形
http://dbpedia.org
不被考虑,此图包含所有模式三元组。您可以通过
description
来检查这一点,如果我在文本框中使用它,或者只使用
FROM
关键字,它是空的,但不是空的。所以,对我来说,有些东西配置错误,或者你是对的,它在后来的Virtuoso版本中被更改了。希望他们能更新它