从CSV三元组生成RDF图
我需要将CSV文件(制表符分隔的三元组)从CSV三元组生成RDF图,csv,graph,rdf,Csv,Graph,Rdf,我需要将CSV文件(制表符分隔的三元组)[主谓宾语]转换为RDF图形。CSV文件如下所示: <http://gadm.geovocab.org/id/1_3214_geometry_1km.rdf> <http://code.google.com/p/ldspider/ns#headerInfo> _:header14010232801335542310249 _:header14010232801335542310249 <http://www.w3.org/
[主谓宾语]
转换为RDF图形。CSV文件如下所示:
<http://gadm.geovocab.org/id/1_3214_geometry_1km.rdf>
<http://code.google.com/p/ldspider/ns#headerInfo> _:header14010232801335542310249
_:header14010232801335542310249 <http://www.w3.org/2006/http#responseCode> 200^^<http://www.w3.org/2001/XMLSchema#integer>
_:header14010232801335542310249 <http://www.w3.org/2006/http#date> Fri, 27 Apr 2012 15:58:31 GMT
_:header14010232801335542310249 <http://www.w3.org/2006/http#server> Apache/2.2.16 (Debian)
_:header14010232801335542310249 <http://www.w3.org/2006/http#expires> Sat, 28 Apr 2012 15:58:31 GMT
_:header14010232801335542310249 <http://www.w3.org/2006/http#content-length> 4173
_:标题14010232801335542310249
_:header14010232801335542310249 200^^
_:header14010232801335542310249 2012年4月27日星期五格林威治标准时间15:58:31
_:header14010232801335542310249 Apache/2.2.16(Debian)
_:header14010232801335542310249 2012年4月28日星期六格林威治标准时间15:58:31
_:header14010232801335542310249 4173
我对RDF/RDF查询语言的知识有限。我真的很感激任何指点。看起来该格式已经几乎完全是合法的RDF(在N-Triples语法中),因此实际上可能最简单的方法是修复一些小问题,然后使用支持N-Triples格式的RDF解析器来处理该文件 有两件事不太符合N-Triples的法律规定:
Fri,2012年4月27日15:58:31 GMT
转换为合法的RDF文本,您只需在其周围加上引号:
"Fri, 27 Apr 2012 15:58:31 GMT"
然而,这只是使其成为字符串文字。如果您想更进一步,让它成为一个格式正确的数据类型文字(使用xsd:dateTime
数据类型,您需要将其转换为正确的dateTime格式。此特定示例需要变成20120327T15:58:31Z
,并且在N-Triples中,使用^
语法将数据类型附加到文本,因此它将变成:
"20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>
_:header14010232801335542310249 <http://www.w3.org/2006/http#date> "20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
“20120327T15:58:31Z”^
将所有这些放在一起,您的整个产品线将成为:
"20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>
_:header14010232801335542310249 <http://www.w3.org/2006/http#date> "20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
标题14010232801335542310249“20120327T15:58:31Z”^。
或者,如果您发现CSV文件的其他部分转换有问题,您也可以使用任何旧的CSV解析器编写一个小程序,使用您选择的编程语言中的RDF框架/API读取CSV文件并从其值创建RDF语句。看起来格式是already几乎完全合法的RDF(在N-Triples语法中),因此实际上可能最简单的方法是修复一些小问题,然后使用支持N-Triples格式的RDF解析器来处理文件 有两件事不太符合N-Triples的法律规定:
Fri,2012年4月27日15:58:31 GMT
转换为合法的RDF文本,您只需在其周围加引号:
"Fri, 27 Apr 2012 15:58:31 GMT"
然而,这只是使它成为一个字符串文本(使用xsd:dateTime
数据类型,您需要将其转换为正确的dateTime格式。此特定示例需要变成20120327T15:58:31Z
,并且在N-Triples中,使用^
语法将数据类型附加到文本,因此它将变成:
"20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>
_:header14010232801335542310249 <http://www.w3.org/2006/http#date> "20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
“20120327T15:58:31Z”^
将所有这些放在一起,您的整个产品线将成为:
"20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>
_:header14010232801335542310249 <http://www.w3.org/2006/http#date> "20120327T15:58:31Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
标题14010232801335542310249“20120327T15:58:31Z”^。
或者,如果您发现CSV文件的其他部分难以转换,也可以使用任何旧的CSV解析器编写一个小程序,使用您选择的编程语言中的RDF框架/API读取CSV文件并从其值创建RDF语句。“CSV文件(制表符分隔的三元组)”[主谓宾语]
Um,它们是CSV(逗号分隔值)还是TSV(制表符分隔值),还是用方括号分隔的空格?“CSV文件(制表符分隔的三元组)”[主谓宾语]
Um,它们是CSV(逗号分隔值)还是TSV(制表符分隔值),还是用方括号分隔的空格?