2017-12-29 16 views
0

私はこれらの事実から、「オバマbornIn USA」と推論したい場合:この推論を行うには何が必要ですか?

Obama bornIn Hawaii 
Hawaii partOf USA 

は推論を行うために十分なこれら二つの事実はありますか?はいの場合は、事実を表すためにRDFSまたはOWLを使用する必要がありますか?事実に基づいてそれらの事実の仕様と推論を迅速にテストできるオンラインのSPARQLツールがありますか?

+1

「partOf」は** RDFSでもOWLの意味もないので、RDFSやOWLの推論者はこの推論を行いません。 – AKSW

+0

オンラインSPARQLツール?いいえ、独自のトリプルストアを使用することもできます.Protect ontologyエディタ、SPARQLプラグイン、Apache Jena、RDF4Jなどのメモリ内SPARQLエンジン、またはディスクベースのトリプルストアを使用できます。 – AKSW

+0

@AKSWなので、この推論をどうやって作るのですか?これは非常に一般的または論理的な推論のようです。 ISAが推論の1つのタイプに過ぎない場合。この例で実証された推論はより一般的なようです。これを達成する方法はありませんか? – user697911

答えて

3

bornInまたはpartOfは誰も知りません。あなたは、適切なオントロジを見つけたり、自分自身でこれをモデル化したりするべきです。それを行うにはいくつかの方法があります。

OWL 2つの機能

OWL 2 DL機能は、必要な推論を行うのに十分です。
必要なものはproperty chainです。

ここでは、サンプルオントロジをRDF Turtle形式にシリアル化しています。

@prefix : <http://www.semanticweb.org/ontologies/ontology#> . 
@prefix owl: <http://www.w3.org/2002/07/owl#> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 

<http://www.semanticweb.org/ontologies/ontology> rdf:type owl:Ontology . 

:Obama rdf:type owl:NamedIndividual ; :bornIn :Honolulu . 
:Honolulu rdf:type owl:NamedIndividual ; :partOf :Hawaii . 
:Hawaii rdf:type owl:NamedIndividual ; :partOf :USA . 
:USA  rdf:type owl:NamedIndividual . 

:bornIn rdf:type owl:ObjectProperty ; owl:propertyChainAxiom (:bornIn :partOf) . 

:partOf rdf:type owl:ObjectProperty . 

共通ルール言語

次SWRLルールとプロパティチェーンの公理を置き換えることができます。

bornIn(?person, ?place1)^partOf(?place1, ?place2) -> bornIn(?person, ?place2) 

SWRLはオントロジーレベルで動作します。他の多かれ少なかれ共通のルール言語(例えば、SPIN)は、RDF直列化レベルで動作する。 GraphDBで

Triplestore固有のルール言語

、あなたはこの種の "ルールセット" を定義できます。

Prefices { obama: http://www.semanticweb.org/ontologies/ontology# } 

Axioms { } 

Rules 
{ 
    Id: custom 
     a <obama:bornIn> b 
     b <obama:partOf> c 
    ----------------------- 
     a <obama:bornIn> c 
} 

をその私ができるいくつかのオンラインSPARQLツールがありますそれらの事実を素早くテストしてください。事実に基づいて仕様と推論を で実行しますか?

ツールや他のオフサイトリソースをお勧めするかどうかを尋ねる質問は、そんなに話題にはなりません。しかし、以下の表は人気の高いツールを比較しています。

+---------+-----+------+-----+-------+ 
|   | OWL | SWRL | … | rules | 
+---------+-----+------+-----+-------+ 
| Protege | + | + | … | – | 
| Stardog | + | + | … | + | 
| GraphDB | ± | – | … | + | 
| … | … | … | … | … | 
+---------+-----+------+-----+-------+ 

GraphDB Cloudをお試しください。リポジトリ作成する場合:ルールセット以上

  • 負荷をあなたはGraphDBのルール言語を使用したい場合は、OWL 2の機能を使用したい場合は、または
  • は、内蔵のOWL-RLのルールセットを選択します。
+0

これは非常に明確な例です。また、StarDogと比較して、GraphDBがどんなメリットを享受できるのか、私はその2つの間で選択する必要がありますか? – user697911

+0

私はStardogをあまりよく知らない。完全なOWL 2サポートが必要な場合は、Stardogを選択する必要があります。しかし、Windows上で実行するのはそれほど簡単ではなく、フリークラウドバージョン(AFAIK)はありません。両方をテストしてください。ところで、あなたは ':partOf'の推移性は必要ないと思われます、明日の回答を編集します。 –

関連する問題