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



如何使用python模块RDFlib将一个简单的选项卡分隔的txt文件(包含标题subject、谓词、对象)转换为RDF N三重格式?

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

from StringIO import StringIO
from rdflib import Graph, URIRef

我在这里使用StringIO是为了避免创建文件。相反,我只列出一些内容和具有这些内容的类似文件的对象:

contents = '''
subject1tpredicate1tobject1
subject2tpredicate2tobject2'''  
tabfile = StringIO(contents)

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

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

现在,整个图形都在内存中(当然,假设您有足够的内存)。您现在可以打印:

print graph.serialize(format='nt')
# prints:
# <subject1> <predicate1> <object1> .
# <subject2> <predicate2> <object2> .

最新更新