推論はSPARQLエンドポイント間で普遍的にサポートされているわけではありませんが、RDFS、RSFS +、およびOWL 2 RLプロファイルでサポートされる推論のほとんどはSPARQL自体でサポートされています。たとえば、あなたのsubClassOfの含意を使用して:A
のインスタンスに照会することはSPARQLのプロパティパスでサポートすることができます。
SELECT ?inst
WHERE {
?cls rdfs:subClassOf* :A .
?inst a ?cls .
}
最初のトリプルパターンは:A
のすべてのサブクラスを取得し、:A
(あなただけのサブクラスをしたい場合は代わりに*
の+
を使用するなど、 :A
)、2番目のトリプルはすべてのクラスのすべてのインスタンスを検出します。
OWL 2のほとんどはSPARQLで実現することができる方法を確認するには、Reasoning in OWL 2 RL and RDF Graphs using Rulesを参照してください。例外のカップルと、これらの全ては、SPARQLで実現することができる(実際には、おそらく、このようなeq-ref
、それらのいくつか、(論理学者が嘲笑も計算笑のために良いである)を必要としません)。
は、OWL 2 RLルールのサブセットでは解決できない重量物の持ち上げ分類問題を越えて、いくつかの用途の場合、あります。
だから、最後には、勧告はあなたが必要な含意を理解することです。 OWLがこの問題を完全に熟考し、いくつかのSPARQLパターンで暮らすことができる可能性があります。特定の推論プロファイルがサポートされているかどうか心配することなく、SPARQLエンドポイントをヒットできます。
SPARQLだけでも多くのことを推論できます。たとえば、クラス階層をトラバースするには、 '?subclass rdfs:subClassOf *?superclass'を実行して、あなたが言及した 'A subclassOf C'の結果を取得します。 –
まあ、 1. SPARQL対応の推論の完全なリストを確認するために私を参照する場所はありますか? –
2.この推論をSPARQLエンドポイント・レベルで有効にすることはできませんでしたか?つまり、エンドポイントが推論を担当している間に、典型的なSPARQLクエリのみを書きますか? –