我正试图在python中使用RDFLib将csv文件转换为RDF N三元组。似乎主语必须是IRI/空白节点,谓词也必须是IRI。例如,
<http://example.org/show/218> <http://www.w3.org/2000/01/rdf-schema#label> "That Seventies Show" .
我在csv文件中只有静态字符串文字数据,并且我没有任何IRI。例如CCD_ 1。
更新csv格式如下,
名称 | Id | 位置 |
---|---|---|
Jon | 34 | 德克萨斯州|
迈克尔 | 42 | 加利福尼亚 |
当您声明必须有一个URI作为主题时,您是正确的。这是允许您将数据链接在一起的技术的一个主要功能。
还需要有一个谓词的命名空间。这是该技术的另一个你无法绕过的功能。
如果你想以这个名字为主题,我会做一些类似。。。
subject = rdflib.URIRef('http://ex.com/name')
predicate = rdflib.URIRef('http://ex.com/hasID')
object = rdflib.Literal(id)
graph.add((subject, predicate, object))
其中name
和id
来自您的CSV。
为了解析/可读性,您可能需要在节点中添加一个rdfs:label
。在我看来,更好的选择是创建一个新的关系ex:hasName
,并以这种方式将名称与节点关联起来。
tldr
使用现有的URI方案(file://、http://、uuid:等(,并在末尾附加一些最有意义的内容。