gpt4 book ai didi

SPARQL 1.1 蕴含机制和使用 FROM 子句的查询

转载 作者:行者123 更新时间:2023-12-01 11:34:47 24 4
gpt4 key购买 nike

我目前正在记录/测试 SPARQL 1.1 蕴含机制,建议中反复指出

The scoping graph is graph-equivalent to the active graph

但它没有指定事件图指的是什么:它是查询中使用的数据集吗?商店中所有图表的联合?

作为确定这一点的测试,我得到了这张图 URIed <http://www.example.org/>在带有 RDF 模式和直接类型推理存储的芝麻内存存储中 (v2.7.14)

@prefix ex:<http://www.example.org/> .
ex:book1 rdf:type ex:Publication .
ex:book2 rdf:type ex:Article .
ex:Article rdfs:subClassOf ex:Publication .
ex:publishes rdfs:range ex:Publication .
ex:MITPress ex:publishes ex:book3 .

我一直在尝试以下查询(这意味着使用默认图和推理引擎)

SELECT ?s WHERE { ?s a ex:Publication . }

正如预期的那样,它返回了所有三个实例

<http://www.example.org/book1>
<http://www.example.org/book2>
<http://www.example.org/book3>

查询时:

SELECT ?s FROM ex: WHERE { ?s a ex:Publication . } 

只返回

<http://www.example.org/book1>

在上述情况下,两者的结果不应该相同吗?

如果数据和模式在存储中的两个图之间拆分(如 <urn:rdfs-schema><urn:data>,或者甚至分散在更多图上)并且查询使用两个图(或一个FROM 子句中模式相关图的子集)而不是默认图?

意思是推理应该在整个商店中是全局的还是取决于查询数据集?

或者建议是否足够宽松以使其成为一个依赖于实现的问题?

谢谢你的灯,

最大

编辑 这个问题被重定向到 SPARQL 1.1 entailment regimes and query with FROM clause (follow-up)

最佳答案

您的第二个查询仅返回 book1,因为在 Sesame 的 RDFS 推理器中,包含的语句插入到默认图中,而不是插入到命名图中继承权的前提来了。因此,所包含的结果根本不存在于您正在查询的图表中。

这种设计选择的原因至少部分是历史性的,因为芝麻 RDFS 推理引擎早于 W3C 的蕴含机制概念。当时的基本原理是,在对几个命名图进行推理的情况下(例如,一个前提来自图 A,另一个前提来自图 B),插入默认图(而不是 A 或 B,或两者)是最简单,最少的混淆。

Sesame 目前不明确支持 W3C 蕴含制度规范。但是,如果您觉得可以通过简单的改进使其更兼容,请务必 log a feature request .

(披露:Sesame 开发者)

关于SPARQL 1.1 蕴含机制和使用 FROM 子句的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28415722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com