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

Posted

技术标签:

【中文标题】有没有办法在 RDF 中表示时间数据?【英文标题】:Is there a way to represent temporal data in RDFs? 【发布时间】:2012-03-14 01:18:05 【问题描述】:

我有一堆要转换为 RDF 格式的时间数据。有什么公认的方法吗?


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

| Name   | Date      | Salary     |
-----------------------------------
| John   | Jan 2012  |      3,244 |
| John   | Feb 2012  |      4,012 |
| John   | Mar 2012  |      3,112 |

找到了一种方法来做到这一点,但是它相当繁琐并且引入了非常大的词汇表。假设语法(主语、谓语、宾语)

(JohnJan2012, date, Jan 2012)
(JohnJan2012, name, John)
(JohnJan2012, salary, 3244)

有人知道更好的方法吗?

【问题讨论】:

【参考方案1】:

您可以在此处使用 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;
] .

在这里,我正在为您提供的这些示例创建两条记录。 [] 语法创建一个空白节点,它基本上是一个没有名称 (URI) 的节点。在示例中的每个空白节点中,我们都有两条信息日期和金额。

此外,如果您以后想使用 SPARQL 查询数据,请确保使用有效的 xsd:datetime 日期。

【讨论】:

【参考方案2】:

有关在 RDF 中表示时间的不同方式的更全面讨论,请参阅 Ian Davis' s 优秀的blog post 这个主题系列

【讨论】:

以上是关于有没有办法在 RDF 中表示时间数据?的主要内容,如果未能解决你的问题,请参考以下文章

RDF 中具体化的解释

有没有办法在 GraphQL 中表示键值对的对象

如何在 TypeOrm 中表示视图?

在 ruby​​ 中表示没有日期的时间

关于在系统中表示路径的数据结构的建议

如何在 ember-data 模型中表示数组?