我有一堆时态数据,我想转换为RDF格式。有没有可以接受的方式呢?
应以某种方式转换为RDF格式的列表数据示例:
| Name | Date | Salary |
-----------------------------------
| John | Jan 2012 | 3,244 |
| John | Feb 2012 | 4,012 |
| John | Mar 2012 | 3,112 |
找到了一种方法来做到这一点,但它相当简洁并且引入了非常大的词汇表。假设语法(Subject,Predicate,Object)
(JohnJan2012, date, Jan 2012)
(JohnJan2012, name, John)
(JohnJan2012, salary, 3244)
有谁知道更好的方法吗?
答案 0 :(得分: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;
] .
这里我创建了两个你给出的例子的记录。 []
语法创建一个空节点,该节点基本上是一个没有名称(URI)的节点。从示例中的每个空白节点,我们有两条信息日期和数量。
另外,如果您希望稍后使用SPARQL查询数据,请确保使用有效的xsd:datetime
日期。
答案 1 :(得分:6)
有关您在RDF中表达时间的不同方式的更全面讨论,请参阅Ian Davis' 关于这个主题的优秀blog post系列