使用txt文件作为输入创建RDF文件

Eve*_*tar 6 python parsing rdf text-files

如何使用python模块RDFlib将一个简单的制表符分隔的txt文件(包含标题subject,谓词,对象)转换为RDF N-triple格式?

Dzi*_*inX 10

这不是很复杂.首先,一些必要的进口:

from StringIO import StringIO
from rdflib import Graph, URIRef
Run Code Online (Sandbox Code Playgroud)

我在StringIO这里使用以避免创建文件.相反,我将只列出一些内容和一个类似文件的对象:

contents = '''\
subject1\tpredicate1\tobject1
subject2\tpredicate2\tobject2'''  
tabfile = StringIO(contents)
Run Code Online (Sandbox Code Playgroud)

然后创建一个图并将所有三元组加载到它:

graph = rdflib.Graph()

for line in tabfile:
    triple = line.split()                # triple is now a list of 3 strings
    triple = (URIRef(t) for t in triple) # we have to wrap them in URIRef
    graph.add(triple)                    # and add to the graph
Run Code Online (Sandbox Code Playgroud)

现在你在内存中有了整个图形(假设你有足够的内存,当然).你现在可以打印它:

print graph.serialize(format='nt')

# prints:
# <subject1> <predicate1> <object1> .
# <subject2> <predicate2> <object2> .
Run Code Online (Sandbox Code Playgroud)