有没有办法在RDF中表示时态数据?

gin*_*tas 5 rdf semantic-web temporal semantics

我有一堆时间数据,我想转换为RDF格式.有没有可以接受的方式呢?


应以某种方式转换为RDF格式的列表数据示例:

| Name   | Date      | Salary     |
-----------------------------------
| John   | Jan 2012  |      3,244 |
| John   | Feb 2012  |      4,012 |
| John   | Mar 2012  |      3,112 |
Run Code Online (Sandbox Code Playgroud)

找到了一种方法来做到这一点,但它相当简洁,并引入了非常大的词汇表.假设语法(Subject,Predicate,Object)

(JohnJan2012, date, Jan 2012)
(JohnJan2012, name, John)
(JohnJan2012, salary, 3244)
Run Code Online (Sandbox Code Playgroud)

有谁知道更好的方法吗?

Man*_*res 6

您可以在这里使用bNodes,并使用Turtle语法执行以下操作:

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

:john :salary [
      :amount "3244.0"^^xsd:decimal;
      :date "2012-01-01T00:00:00"^^xsd:datetime;
] .

:john :salary [
      :amount "4012.0"^^xsd:decimal;
      :date "2012-02-01T00:00:00"^^xsd:datetime;
] .
Run Code Online (Sandbox Code Playgroud)

在这里,我创建了两个你给出的例子的记录.的[]语法创建一个空节点,基本上是没有名字(URI)的节点.从示例中的每个空白节点,我们有两条信息日期和数量.

此外,xsd:datetime如果您希望稍后使用SPARQL查询数据,请确保使用有效日期.


Rob*_*obV 6

有关在RDF中表示时间的不同方式的更全面讨论,请参阅Ian Davis 关于此主题的精彩博文系列