gpt4 book ai didi

sql - 时态查询和非时态查询有什么区别

转载 作者:搜寻专家 更新时间:2023-10-30 20:26:40 24 4
gpt4 key购买 nike

我已经阅读了一些讨论时态和非时态查询的资源,特别是 SPARQL。这两种查询有什么区别?

最佳答案

由于您没有引用讨论时间查询的特定文档,因此我只能给出一个非常宽泛的答案:

关于如何在 RDF 中对时间受限的事实进行建模的方法有很多。由于 RDF 本身只关心三元组/四元组(主语、谓语、宾语(、图)),许多简单的映射方法生成的三元组在映射时是正确的,但很快就会过时和错误。一个例子是

dbpedia:Barack_Obama dbpedia-owl:office "President of the United States" .

虽然目前这是正确的,但在 2017 年很可能是错误的,因为他已经进入第二个任期。尽管如此,如上所述,它总是正确的,这会导致很多并发症。

What is the difference between these two kinds of queries?

一般来说,这可以通过查看您的 SPARQL 查询来回答。如果它以某种方式要求在某个时间/期间有效的语句,那么它就是一个“时间”查询。如果它不包含任何时间信息,则它通常不包含任何时间信息(尽管您的端点可能会隐式添加“仅现在有效的事实”约束)。

如何包含此类计时信息取决于您的 SPARQL 端点以及您查询的数据的建模方式。

一些建模方法:

限定关系模式

对时间有限语句(即 actually used by DBpedia )建模的一种方法是使用 qualified relation pattern/“榜样”:

dbpedia:Barack_Obama dbpedia-owl:termPeriod dbpedia:Barack_Obama__1 .
dbpedia:Barack_Obama__1 dbpedia-owl:activeYearsStartDate "2009-01-20"^^xsd:date .
dbpedia:Barack_Obama__1 dbpedia-owl:office "President of the United States" .
...

具体化

另一种方法是使用具体化来对这样的陈述进行陈述:

ex:Barack_Obama_presidency_stmt rdf:type rdf:Statement .
ex:Barack_Obama_presidency_stmt rdf:subject dbpedia:Barack_Obama .
ex:Barack_Obama_presidency_stmt rdf:predicate dbpedia-owl:office .
ex:Barack_Obama_presidency_stmt rdf:object "President of the United States" .
ex:Barack_Obama_presidency_stmt ex:activeYearsStartDate "2009-01-20"^^xsd:date .

整个图的出处时间

另一种方法是为端点上可访问的每个图提供出处信息,例如与 http://www.w3.org/TR/prov-o/#generatedAtTime .在这些情况下,您可以在 SPARQL 查询中使用此类信息来请求在给定时间范围内生成的图形,然后与它们的三元组进行匹配。

时态 SPARQL

最后但同样重要的是,有相当多的方法试图在 SPARQL 语言本身中引入特殊语法或标准化此类时态查询,例如:

但是正如这个答案所显示的那样,这种标准化远未被普遍接受/实现。

结论

由于缺乏标准化及其实际接受度,“时态 SPARQL”查询需要考虑查询数据如何对此类时态信息建模。

这是一个社区 wiki 答案,请随意扩展。

关于sql - 时态查询和非时态查询有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30638252/

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