[英]Adding triples from a list to graph using python's rdflib framework
[英]Using prefixes to display entities from an rdflib graph
我正在使用 rdflib 將 RDF 圖加載到 Python scrpit 我想使用定義的前綴打印主題列表我沒有找到任何應用前綴的方法。 我的代碼
import rdflib
filepath = "... my file path ..."
gs = rdflib.Graph()
gs.bind('qs', "http://qs.org/")
gs.bind('foaf',"http://xmlns.com/foaf/0.1/")
gs.parse(filepath,format="nt")
mdstr = ""
for subject in gs.subjects():
mdstr += str(subject) +"\n"
print(mdstr)
我得到,例如http://qs.org/s12095代替 qs:s12095
相關 rdflib 文檔。 圖中的前綴存儲在其NamespaceManager
對象中。 要讓 rdflib 打印前綴而不是完整的 IRI,您可以調用其方法.n3(graph.namespace_manager)
。 所以在你的情況下,你可以這樣做:
from rdflib import Namespace
from rdflib.namespace import NamespaceManager
# bind namespace to the graph or its namespace manager
graph.bind('qs', Namespace('http://qs.org/'))
# assuming entity is IRI http://qs.org/s12095
print(entity) # --> http://qs.org/s12095
print(entity.n3(graph.namespace_manager)) # --> qs:s12095
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.