从CSV三元组生成RDF图

从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/

我需要将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/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的法律规定:

  • 每行应以“.”结尾
  • 日期值不作为合法的RDF文字值写入
  • 显然,第一点很容易修正。第二种可能更具挑战性。N-Triples语法中的RDF文本被写为双引号中的字符串。因此,要将
    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的法律规定:

  • 每行应以“.”结尾
  • 日期值不作为合法的RDF文字值写入
  • 显然,第一点很容易解决。第二点可能更具挑战性。N-Triples语法中的RDF文本被写为双引号中的字符串。因此,要将
    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(制表符分隔值),还是用方括号分隔的空格?