1

RDFlib の名前空間で URI のリストを取得するには?

たとえば、次のことができます。

from rdflib.namespace import FOAF

しかし、FOAF で利用できる URI をどのように確認すればよいのでしょうか?

実際、いくつかの名前空間 (RDF、RDFS、FOAF など) があり、それぞれの中にどの URI があり、どれを使用するかを調べるのは難しいと思います。たとえば、所属関係を表現したい場合は、RDFS.member を使用する必要がありますか? リンクされたデータの標準はありますか、それともまだアドホックですか?

私は RDF に不慣れで、これが明白な質問のように思われる場合は申し訳ありません。

ありがとう!

4

1 に答える 1

0

IRI は単に不透明な識別子です。Linked Data とセマンティック Web について話している間rdfs:member、プロパティに割り当てられた意味のセマンティクスは、セマンティック Web の外部で定義されます (うまくいけば、適切なドキュメントによって定義されます。もちろん、ドキュメントは、 としてプロパティに関連付けられる必要があります) rdfs:comment。のように)、および使用法によって。の場合rdfs:member、説明は RDFS の推奨事項に基づいています。

5.1.6 rdfs:メンバー

rdfs:member は、すべてのコンテナー メンバーシップ プロパティのスーパー プロパティである rdf:Property のインスタンスです。つまり、各コンテナー メンバーシップ プロパティは、プロパティ rdfs:member に対して rdfs:subPropertyOf 関係を持っています。

rdfs:member の rdfs:domain は rdfs:Resource です。rdfs:member の rdfs:range は rdfs:Resource です。

コンテナー メンバーシップのプロパティは、同じドキュメントで説明されています。

rdfs:ContainerMembershipProperty

rdfs:ContainerMembershipProperty クラスはインスタンスとしてプロパティー rdf:_1、rdf:_2、rdf:_3 ... を持ち、リソースがコンテナーのメンバーであることを示すために使用されます。rdfs:ContainerMembershipProperty は rdf:Property のサブクラスです。rdfs:ContainerMembershipProperty の各インスタンスは、rdfs:member プロパティの rdfs:subPropertyOf です。

コンテナ C が与えられた場合、次の形式のトリプル:

C rdf:_nnn O

ここで、nnn は 0 より大きい整数の 10 進数表現で、先行ゼロはなく、O がコンテナー C のメンバーであることを示します。

コンテナー メンバーシップ プロパティは、コンテナー以外のリソースに適用できます。

最後の行を読んでちょっと驚きましたが、メンバーシップのプロパティ とrdfs:memberはコンテナー以外のリソースにも適用できるため、独自のデータ構造でそれらを使用しても問題ないようです。

それでも、独自のより具体的なプロパティを定義し、それが のサブプロパティであることを単純に主張する方が適切な場合がありますrdfs:member。たとえばpolitics:memberStateOf、国民国家を多国籍連合に関連付けるプロパティが であると指定する場合がありますrdfs:subPropertyOf rdfs:member

語彙のドキュメントを参照することは、他の状況でも良い考えです。たとえば、RDFlib ページの例には、FOA​​F の使用が含まれています。

from rdflib import RDF
...
# Create a namespace object for the Friend of a friend namespace.
FOAF = Namespace("http://xmlns.com/foaf/0.1/")
...
# Add triples using store's add method.
store.add((donna, RDF.type, FOAF["Person"]))
store.add((donna, FOAF["nick"], Literal("donna", lang="foo")))

ここで FOAF が使用されている方法 (これはあなたの質問とは少し異なります。おそらく現在はそのためのライブラリがあります) が渡される文字列は、どの URI が存在する必要があるかを認識することに依存し、その情報はFOAFで利用可能です。仕様。名前空間にはいくつかの記号RDF定数が定義されているように見えますがRDF.type(例:RDF.typeRDF['type']

名前空間の完全修飾 URI は、属性または Namespace インスタンスの辞書アクセスによって構築できます。

  >>> owl.seeAlso
  rdflib.term.URIRef(u'http://www.w3.org/2002/07/owl#seeAlso')
  >>> owl['seeAlso']
  rdflib.term.URIRef(u'http://www.w3.org/2002/07/owl#seeAlso')
于 2013-08-05T03:00:03.910 に答える