質問

私は、ペレットは、それらのクラスに属する個人に至るまでのクラスからプロパティを伝播するために取得しようとしています。私は、RDFとプロパティXとクラスA、および個々のBを持っている場合たとえば、:タイプ=クラスA、Iは、個々のBは、推論を実行した後にプロパティXを持っていると思います。私は OWL 2で参照プロパティチェーン封入の技術を使用してい新機能のページ。私はプロパティチェーンに独自のカスタムプロパティを使用する場合は、この技術は完璧に動作しますが、私は、RDFを使用しようとする場合、それは仕事をしません。自分自身を入力します。ここに私のRDF / XMLのいくつかの関連切れ端があります。

オントロジークラス(イエナによって生成され;ノート「スプレッド」プロパティ、それは私はクラスの人の個人に伝播しようとしているものですとして):

<rdf:Description rdf:about="http://family/person">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:sameAs rdf:resource="http://family/person"/>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:equivalentClass rdf:resource="http://family/person"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/>
    <j.1:spread rdf:resource="http://spread/specificSpread"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>

「スプレッド」プロパティ自体(イエナのAPIは、オブジェクトのプロパティのチェーンをサポートしていませんので、イエナで生成されていない、私が手動で書かれた):

<rdf:Description rdf:about="http://spread/generalSpread">
    <owl:propertyChainAxiom rdf:parseType="Collection">
        <owl:ObjectProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
        <owl:ObjectProperty rdf:about="http://spread/generalSpread"/>
    </owl:propertyChainAxiom>
</rdf:Description>
推理する前に、人オイディプスは次のようになります:

<rdf:Description rdf:about="http://family/Oedipus">
    <rdf:type rdf:resource="http://family/person"/>
</rdf:Description>

アイデアは推論した後、それは次のようになり、ということです。

<rdf:Description rdf:about="http://family/Oedipus">
    <rdf:type rdf:resource="http://family/person"/>
    <j.1:spread rdf:resource="http://spread/specificSpread"/>
</rdf:Description>

私は、RDFを参照するという感覚を持っている:RDFなどの種類:私はそれは資源ではないかなり確信しているので、物事が変にを取得しているところリソースがおそらくあります。しかし、私はそれを修正するかどうかはわかりません。私もペレットのコマンドラインlintプログラムを通してそれを実行し、RDFのための明示的なエントリを作成したことを除いて、それに問題があるように思えませんでした。このように見えたというタイプ:

<owl:ObjectProperty rdf:about="&rdf;type"/>
私には少し奇妙に見えるし、また、それは、RDFへの私の参照を理解していないというヒントかもしれません:。タイプ

缶誰もが起こってかもしれないもの上の任意の光を当てますか?私は本当に誰にも提供することができます任意の助けをいただければと思います。

役に立ちましたか?

解決

非常に重要な編集

これは、実際のプロパティ伝播がOWL DLの領域内で可能であることが判明しました。たとえば、あなたが(両方がすでにRDFで定義されていると仮定して)値spreadでプロパティsimpleSpreadを伝播する場合、あなたは(RDF / XMLで)このような何かを行う可能性があります:

  <rdf:Description rdf:about="http://family/person">
    <rdfs:subClassOf>
        <owl:hasValue rdf:resource="http://spread/simpleSpread"/>
        <owl:onProperty rdf:resource="http://spread/hasSpread"/>
        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    </rdfs:subClassOf>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdf:Description> 

をそれほど重要なもう

わかりましたので、情報の完全性のために、私はここでは関係の回答情報を投稿します。このようなものは、ペレットユーザーのメーリングリストの人々に話しから来ています。スレッドは私の最初のメッセージをアーカイブして開始されの。詳細に何が起こったのかを調べるために、スレッドを実行します。

本質的に、 OWL DL の組み込みの際に "反射" を許可しませんプロパティとデータ型。これは、OWL DLが保証する多項式時間決定可能性に違反する可能性が許可。これを実現するためには、 OWL RLプロファイルを使用する必要がありますこれrdf:type以上の推論の使用を可能にする、均等OWLにすべてのものを扱うOWLフル、。

RLははるかに軽量かつDLよりも表現であるため、

これで主要な問題は、推論(または推論の組み合わせ)ことを支援DLとRLの両方を見つけることです(多項式時間で決定可能であることを保証されませんは言うまでもありません)ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top