私は(タートルで)タートルで対称で推移的な述語を定義し、それから推論を得ようとしています。
述語を定義した方法は次のとおりです。
:similar a owl:SymmetricProperty; a owl:TransitiveProperty .
使い方(同じタートルファイル):
:a :similar :b .
:b :similar :c .
次に、aとbを取得することを期待して、sparklクエリ「select?x where?x:similar:c」を発行します。
私は次のようにモデルを設定しようとしました:
OntModel ont = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );
ont.read("file:./myontology.turtle",null,"TURTLE");
InfModel model = ModelFactory.createInfModel(ReasonerRegistry.getOWLReasoner(), ont);
次に、QueryExecutionFactory.createでInfModelを使用します。動作しません。
私もそれを試しました:
OntModel model = ModelFactory.createOntologyModel( OntModelSpec.OWL_DL_MEM_RULE_INF );
model.read("file:./myontology.turtle",null,"TURTLE");
運もありません。正しい方法は何ですか?私は何が欠けていますか?
前もって感謝します。