1

主語、目的語、述語のトリプルを定義し、それらを反復処理する Python 関数がありますが、RDF ストアに格納できるように、トリプルを RDF URIRef データ形式に変換する必要があります。これについてどうすればよいですか?

上記で説明したように、RDF ストアに RDFLib を使用しています。辞書内の一連のデータ (具体的にはセンサー データ) を RDFLIb URIRef 形式に変換しようとしています。

たとえば、私が self.triples[self.identifier][prov['subject']]=self.subject.identifier self.triples[self.identifier][rdf['type']]= prov['alternateOf'] を持っている場合RDFLib を使用してそれらを URIRef 形式に変換します

ストアに関しては、n3形式のRDFStoreを使用しています

ここでのポイントは次のとおりです。RDFLib は Python 文字列を主語、述語、および目的語として使用しますが、rdflib.URIRef データ形式に適切に変換されていないと一部の操作は機能しません。RDFStore に保存できるのは、それらが適切な形式である場合のみです。

4

1 に答える 1

1

文字列を uri に変換する方法に関する質問への簡単な回答:

from rdflib import URIRef
# this cannot be a subject in a triple
uri_str = 'http://stackoverflow.com/questions/11594712'
# this can be a subject (or predicate or object) of a triple
uri_ref = URIRef(uri_str)

使用法Namespace:

from rdflib import Namespace

ns_str = 'http://example.com/namespace/doc/'
ns = Namespace(ns_str)

uri_str = ns_str+'fragment'

assert URIRef(ns_str+'fragment') == ns.fragment == ns['fragment']
于 2012-07-24T18:50:11.280 に答える