Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 时态查询和非时态查询之间的区别是什么_Sql_Database_Sparql - Fatal编程技术网

Sql 时态查询和非时态查询之间的区别是什么

Sql 时态查询和非时态查询之间的区别是什么,sql,database,sparql,Sql,Database,Sparql,我已经阅读了一些关于时态和非时态查询的参考资料,特别是SPARQL。这两种查询之间的区别是什么?这个词的意思是相对于时间的,来自拉丁语单词tempus,它本身意味着时间 因此,时态查询是一种考虑时间的查询。以一个你将重写为非时态的问题为例 谁(曾经)和约翰结婚了? 与可能的时间版本(其中一个)相比 2010年约翰嫁给了谁? 由于您没有提到关于时态查询的特定文档,因此我只能给出一个非常广泛的答案: 关于如何在RDF中对时间约束的事实建模,有许多方法。由于RDF本身只涉及三元组/四元组(主语、谓语

我已经阅读了一些关于时态和非时态查询的参考资料,特别是SPARQL。这两种查询之间的区别是什么?

这个词的意思是相对于时间的
,来自拉丁语单词
tempus
,它本身意味着时间

因此,时态查询是一种考虑时间的查询。以一个你将重写为非时态的问题为例

谁(曾经)和约翰结婚了?

与可能的时间版本(其中一个)相比

2010年约翰嫁给了谁?

由于您没有提到关于时态查询的特定文档,因此我只能给出一个非常广泛的答案:

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

dbpedia:Barack_Obama dbpedia-owl:office "President of the United States" .
虽然目前这是事实,但2017年很可能是错误的,因为他已经进入了第二个任期。尽管如此,如上所述,这始终是正确的,这会导致许多复杂情况

这两种查询之间有什么区别

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

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

一些建模方法: 限定关系模式 对时态受限语句建模的一种方法(即)是使用/“角色模型”:

物化 另一种方法是使用物化对语句进行如下陈述:

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 .
整图的出处计时 另一种方法是为端点上可访问的每个图形提供出处信息,例如使用。在这些情况下,您可以在SPARQL查询中使用这些信息来请求在给定时间范围内生成的图,然后与它们的三元组进行匹配

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

但是,这个答案表明,这样的标准化远未被普遍接受/实施

结论 由于缺乏标准化及其实际可接受性,“时态SPARQL”查询需要考虑被查询的数据如何建模这些时态信息


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

“我已经阅读了一些关于时态和非时态查询的资源”你能给我们指出其中的一些吗?@JoshuaTaylor它们是我无法再访问的讲座幻灯片抱歉
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 .