모든 항목을 반복하지 않고 제목을 알면 개체를 찾는 방법이 있습니까?
대답은 예입니다. 그리고 당신은 다른 메커니즘에 사용할 수 있습니다 : (a) 제한과 반복; 또는 (b) SPARQL 쿼리를 발행하십시오.
는 (a)의 그래프에 제약이 용액 그래프 오브젝트 위에 RDFLib triples
함수를 사용
반복. this reference을 참조하십시오.
#Parse the file
g = rdflib.Graph()
g.parse("yourdata.nquads")
subject = article = rdflib.term.URIRef("http://www.someuri.org/for/your/subject")
# (subject,None,None) represents a constrain to iterate over the graph. By setting
# any of the three elements in the triple you constrain by any combination of subject,
# predicate or object. In this case we only constrain by subject.
for triple in g.triples((subject,None,None)):
print triple
(b)는 SPARQL 쿼리
에게 SPARQL standard를 사용하여보다 표준 용액을 실행.
rdflib.plugin.register('sparql', rdflib.query.Processor,
'rdfextras.sparql.processor', 'Processor')
rdflib.plugin.register('sparql', rdflib.query.Result,
'rdfextras.sparql.query', 'SPARQLQueryResult')
#Parse the file
g = rdflib.Graph()
g.parse("yourdata.nquads")
query = """
SELECT ?pred ?obj WHERE {
<http://www.someuri.org/for/your/subject> ?pred ?obj
}
"""
for row in g.query(query):
print "Predicate:%s Object:%s"%(row[0],row[1])
감사합니다. 첫 번째 옵션을 매우 간결하게 선택했지만 SPARQLE을 다른 용도로 사용할 것이므로 매우 유용한 답입니다 – user52028778