私はProtegeを通じてOWLを見たり遊んだりしてきましたが、「ワークフロー」とその考え方を正しく理解しているかどうか知りたいです(データベースをゼロから構築するため:
- Protege または同等のものを使用して、データの OWL オントロジーを生成します
- このスキーマを RDF にエクスポートします
- トリプルストアの一部の要素として定義されたクラスをターゲット データとともに使用する
- トリプルストアを RDF にエクスポートする
- openRDF/sesame または Jena を使用して、定義されたデータとオントロジーを読み込みます
- RDF トリプルストアを OWL オントロジーに対して検証して、すべてが正常であることを確認します
- SPARQL を使用して RDF トリプルストアからデータを取得する
- OWL推論を使用して何かを行います(ここではあまり明確ではありません)
他の人が何をしていて、この種の問題にどのように取り組んでいるのかを知りたいです。
さらに、具体的な質問があります。
オントロジーのみのサブクラスとスーパークラスの関係を決定するためにフクロウ推論が使用されているようです。しかし、データに関しては、SPARQL でサブクラスとスーパークラスの関係を照会する方法を教えてください。たとえば、トリプル ストアが (pizzaID1 is-a marghareta ) を定義し、SPARQL でベジタリアン ピザをクエリする場合、どうすれば PizzaID1 が返されることを確認できますか。
その答えは、すべての関係が明示的に示されている「完全なグラフ」を生成することに関係していると思います。sparql は、トリプルストアをクエリするときに自動推論を行いますか?それとも、そのような完全なグラフを生成する必要がありますか?