2012-01-25 35 views

Trả lời

10

Nó không phải là rất phức tạp. Trước tiên, một số nhập khẩu cần thiết:

from StringIO import StringIO 
from rdflib import Graph, URIRef 

Tôi đang sử dụng StringIO tại đây để tránh tạo tệp. Thay vào đó, tôi sẽ chỉ liệt kê một số nội dung và một đối tượng tập tin giống như với các nội dung:

contents = '''\ 
subject1\tpredicate1\tobject1 
subject2\tpredicate2\tobject2''' 
tabfile = StringIO(contents) 

Sau đó tạo một đồ thị và tải tất cả gấp ba với nó:

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 

Bây giờ bạn có toàn bộ đồ thị trong bộ nhớ (giả sử bạn có đủ bộ nhớ, tất nhiên). Bây giờ bạn có thể in nó:

print graph.serialize(format='nt') 

# prints: 
# <subject1> <predicate1> <object1> . 
# <subject2> <predicate2> <object2> . 
+0

Nitpick: bạn đang sắp xếp đồ thị theo định dạng N3. Kể từ khi poster ban đầu được yêu cầu cho N-Triples, tôi chỉ nghĩ rằng tôi muốn chỉ ra rằng hai định dạng đó không giống nhau. –

+0

@JeenBroekstra: Cảm ơn, tôi đã không đọc kỹ bài đăng một cách cẩn thận. Tôi sẽ sửa câu trả lời của tôi. – DzinX

Các vấn đề liên quan