簡體   English   中英

在耶拿設置OWL推理機

[英]Setting up OWL reasoner in Jena

我試圖在Turtle中定義一個對稱的,可傳遞的謂詞,並從中進行推論。

這是我定義謂詞的方式:

:similar a owl:SymmetricProperty; a owl:TransitiveProperty .

我如何使用它(同一個烏龜文件):

:a :similar :b .
:b :similar :c .

然后,我發出一個火花查詢“ select?x where?x:similar:c”,希望得到a和b。

我試圖建立這樣的模型:

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");

也沒有運氣。 正確的方法是什么? 我想念什么?

提前致謝。

找到了答案。 以下工作正常:

OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF);
model.read("file:./myontology.turtle",null,"TURTLE");

我在前綴方面遇到了一些問題。 另外,我在聲明:like與類,並假設子類將繼承owl:SymmetricProperty和owl:TransitiveProperty。 似乎不是那樣工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM