本文整理汇总了Python中rdflib.Graph.addN方法的典型用法代码示例。如果您正苦于以下问题:Python Graph.addN方法的具体用法?Python Graph.addN怎么用?Python Graph.addN使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rdflib.Graph
的用法示例。
在下文中一共展示了Graph.addN方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_one_spurious_semicolons_bnode
# 需要导入模块: from rdflib import Graph [as 别名]
# 或者: from rdflib.Graph import addN [as 别名]
def test_one_spurious_semicolons_bnode():
sparql = """
PREFIX : <http://example.org/>
CONSTRUCT {
[ :b :c ; :d :e ; ]
} WHERE {}
"""
expected = Graph()
expected.addN(t + (expected,) for t in [
(BNode("a"), NS.b, NS.c),
(BNode("a"), NS.d, NS.e),
])
got = Graph().query(sparql).graph
assert isomorphic(got, expected), got.serialize(format="turtle")
示例2: test_two_spurious_semicolons_no_period
# 需要导入模块: from rdflib import Graph [as 别名]
# 或者: from rdflib.Graph import addN [as 别名]
def test_two_spurious_semicolons_no_period():
sparql = """
PREFIX : <http://example.org/>
CONSTRUCT {
:a :b :c ; :d :e ; ;
} WHERE {}
"""
expected = Graph()
expected.addN(t + (expected,) for t in [
(NS.a, NS.b, NS.c),
(NS.a, NS.d, NS.e),
])
got = Graph().query(sparql).graph
assert isomorphic(got, expected), got.serialize(format="turtle")
示例3: _serialize_with_rdflib
# 需要导入模块: from rdflib import Graph [as 别名]
# 或者: from rdflib.Graph import addN [as 别名]
def _serialize_with_rdflib(rdflib_format, graph, bindings, base_uri):
"Common implementation of all rdflib-based serialize functions."
assert isinstance(rdflib_format, str)
assert isinstance(graph, Graph)
# copy in another graph to prevent polluting the original graph namespaces
# TODO LATER find an efficient way to serialize a graph with custom NSs
ser = Graph()
ser.addN( (s, p, o, ser) for s, p, o in graph )
for prefix, nsuri in bindings.items():
ser.bind(prefix, nsuri)
if base_uri is not None and not isinstance(base_uri, URIRef):
base_uri = coerce_to_uri(base_uri)
# We use yield to prevent the serialization to happen if a 304 is returned
yield ser.serialize(None, format=rdflib_format, base=base_uri)
示例4: test_pathological
# 需要导入模块: from rdflib import Graph [as 别名]
# 或者: from rdflib.Graph import addN [as 别名]
def test_pathological():
"""
This test did not raise an exception,
but generated a graph completely different from the expected one.
"""
sparql = """
PREFIX : <http://example.org/>
CONSTRUCT {
:a :b :c ; ;
:d :e ; ;
:f :g ;
} WHERE {}
"""
expected = Graph()
expected.addN(t + (expected,) for t in [
(NS.a, NS.b, NS.c),
(NS.a, NS.d, NS.e),
(NS.a, NS.f, NS.g),
])
got = Graph().query(sparql).graph
assert isomorphic(got, expected), got.serialize(format="turtle")
示例5: get_state
# 需要导入模块: from rdflib import Graph [as 别名]
# 或者: from rdflib.Graph import addN [as 别名]
def get_state(self, parameters=None):
"""I override `~rdfrest.cores.ICore.get_state`:meth:
I support parameter "prop" to enrich the Base description with additional information.
I consider an empty dict as equivalent to no dict.
"""
state = super(Base, self).get_state(parameters)
if not parameters:
return state
enriched_state = Graph()
enriched_state += state
whole = ConjunctiveGraph(self.service.store)
initNs = {"": KTBS, "rdfs": RDFS, "skos": SKOS}
initBindings = {"base": self.uri}
for prop in parameters["prop"]:
if prop == "comment":
enriched_state.addN(
(s, RDFS.comment, o, enriched_state)
for s, o in whole.query(
"""
SELECT ?s ?o {
GRAPH ?base { ?base :contains ?s }
GRAPH ?t { ?s rdfs:comment ?o }
}
""",
initNs=initNs,
initBindings=initBindings,
)
)
elif prop == "hasModel":
enriched_state.addN(
(s, KTBS.hasModel, o, enriched_state)
for s, o in whole.query(
"""
SELECT ?t ?m {
GRAPH ?base { ?base :contains ?t }
GRAPH ?t { ?t :hasModel ?m }
}
""",
initNs=initNs,
initBindings=initBindings,
)
)
elif prop == "hasSource":
enriched_state.addN(
(s, KTBS.hasSource, o, enriched_state)
for s, o in whole.query(
"""
SELECT ?t1 ?t2 {
GRAPH ?base { ?base :contains ?t1 }
GRAPH ?t1 { ?t1 :hasSource ?t2 }
}
""",
initNs=initNs,
initBindings=initBindings,
)
)
elif prop == "label":
enriched_state.addN(
(s, p, o, enriched_state)
for s, p, o in whole.query(
"""
SELECT ?s ?p ?o {
GRAPH ?base { ?base :contains ?s }
GRAPH ?s { ?s ?p ?o }
VALUES ?p { rdfs:label skos:prefLabel }
}
""",
initNs=initNs,
initBindings=initBindings,
)
)
elif prop == "obselCount":
enriched_state.addN(
(s, KTBS.hasObselCount, o, enriched_state)
for s, o in whole.query(
"""
SELECT ?t (COUNT(?obs) as ?c) {
GRAPH ?base { ?base :contains ?t. ?t a ?tt }
OPTIONAL { ?obs :hasTrace ?t }
VALUES ?tt { :StoredTrace :ComputedTrace }
} GROUP BY ?t
""",
initNs=initNs,
initBindings=initBindings,
)
)
else:
pass # ignoring unrecognized properties
# should we signal them instead (diagnosis?)
return enriched_state