作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将数据集的名称添加到图形对象并稍后检索它们,很确定必须有简单的方法来完成它,但到目前为止找不到任何东西......谢谢
最佳答案
我认为您正在寻找的是将上下文附加到图形。这就像创建一个图来解析其中的子图,每个子图都有一个名称 - 如果是 rdflib,则为 URIRef
。
假设您必须使用以下两个文件表示图表:
数据A.nt
<http://data.org/inst1> <http://xmlns.com/foaf/0.1/name> "david" .
<http://data.org/inst2> <http://xmlns.com/foaf/0.1/name> "luis" .
<http://data.org/inst3> <http://xmlns.com/foaf/0.1/name> "max" .
数据B.nt
<http://data.org/inst1> <http://xmlns.com/foaf/0.1/knows> <http://data.org/inst2> .
<http://data.org/inst2> <http://xmlns.com/foaf/0.1/knows> <http://data.org/inst3> .
<http://data.org/inst3> <http://xmlns.com/foaf/0.1/knows> <http://data.org/inst1> .
还有下面的一段代码:
import rdflib
g = rdflib.ConjunctiveGraph("IOMemory",)
#g is made of two sub-graphs or triples gathered in two different contexts.
#the second paramaters identifies the URIRef for each subgraph.
g.parse("dataA.nt",rdflib.URIRef("http://mygraphs.org/names"),format="n3")
g.parse("dataB.nt",rdflib.URIRef("http://mygraphs.org/relations"),format="n3")
print "traverse all contexts and all triples for each context"
for subgraph in g.contexts():
print "Graph name",subgraph.identifier
for triple in subgraph.triples((None,None,None)):
print triple
print "traverse all contexts where a triple appears"
for subgraph in g.contexts(triple=(rdflib.URIRef('http://data.org/inst1'),rdflib.URIRef("http://xmlns.com/foaf/0.1/name"),rdflib.Literal(u'david'))):
print "Graph name",subgraph.identifier
for triple in subgraph.triples((None,None,None)):
print triple
print "traverse a triple pattern regardless the context is in"
for t in g.triples((None,rdflib.URIRef("http://xmlns.com/foaf/0.1/name"),None)):
print t
关于python - 如何在 RDFLib 中为图形添加注释或标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620038/
我是一名优秀的程序员,十分优秀!