当前位置:  开发笔记 > 编程语言 > 正文

从CSV三元组生成RDF图

如何解决《从CSV三元组生成RDF图》经验,为你挑选了1个好方法。

我需要将CSV文件(制表符分隔三元组)[subject predicate object]转换为RDF图.CSV文件看起来像这样:

 

 _:header14010232801335542310249
_:header14010232801335542310249  200^^
_:header14010232801335542310249  Fri, 27 Apr 2012 15:58:31 GMT
_:header14010232801335542310249  Apache/2.2.16 (Debian)
_:header14010232801335542310249  Sat, 28 Apr 2012 15:58:31 GMT
_:header14010232801335542310249  4173

我对RDF/RDF查询语言的了解有限.我真的很感激任何指针.



1> Jeen Broekst..:

看起来格式已经几乎完全合法的RDF(在N-Triples语法中),因此实际上最简单的方法就是修复一些小问题,然后使用支持N-Triples格式的RDF解析器来处理文件.

合法的N-Triples有两件事不太正确:

    每行应以'.'结尾.

    日期值不会写为合法的RDF文字值.

显然,第一点是微不足道的.第二个可能更具挑战性.N-Triples语法中的RDF文字用双引号写成字符串.因此,要转换Fri, 27 Apr 2012 15:58:31 GMT为合法的RDF文字,您所要做的只是在其周围加上引号:

"Fri, 27 Apr 2012 15:58:31 GMT" 

但是,这只是使它成为字符串文字.如果你想更进一步,实际上使它成为一个格式正确的数据类型文字(使用xsd:dateTime数据类型,你需要将其转换为正确的dateTime格式.这个特定的例子需要成为20120327T15:58:31Z,并在N-Triples中的数据类型使用^^语法附加到文字,因此它将成为:

"20120327T15:58:31Z"^^ 

总而言之,您的整条生产线将成为:

_:header14010232801335542310249   "20120327T15:58:31Z"^^ .

或者,如果您发现CSV文件的其他部分转换有问题,您还可以使用任何旧的CSV解析器并编写一个小程序来读取CSV文件并使用RDF框架从其值创建RDF语句/您选择的编程语言中的API.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有