2014-02-28 17 views
1

是否可以在Jena中添加規定個人類型的規則?使用Jena中的自定義規則將個人分配到類型

例如

String r; 
r = "[rule1: (?a example:drives ?b), (?b rdf:type example:Truck) -> 
     (?a rdf:type example:TruckDriver)]"; 
//then parse and send to reasoner...etc 

的實例和文檔我在網上找到所有使用自定義的規則來分配,而不是這個規則是用來個人分配到一類人(對象屬性)之間的關係。

+0

是的。事實上,這看起來像一個。你有什麼特別的問題嗎?它沒有產生你期望的結果,或者什麼? –

+0

我試着創建一個類似於此的規則,並使用Jena推理器來添加一個人,這個人會駕駛一輛卡車到卡車司機班。在創建推斷模型後,當我要求獲得TruckDriver類的成員列表時,個體不顯示。我想知道如果我的規則語法可能有問題,因爲在編譯時不會生成錯誤。 – Isaac

+0

具體而言,我想確保可以在規則中分配類型,因爲我在整個Jena教程中找到的每個示例都使用自定義規則來分配關係,而不是將個人分配給類。 – Isaac

回答

0

我在網上找到的所有示例和文檔都使用自定義規則來指定個人之間的關係(對象屬性),而不是用於將個人分配給某個類的規則。

實際上,文檔Reasoners and rule engines: Jena inference support給出了一些介紹屬性爲rdf:type的三元組的規則的示例。例如。 (從文件),有一個爲RDFS推理規則說, 「當?x由物業?p與域?c有關?y,然後?X的類型爲?c:」

[rdfs2:(X? 2 p y)時,(p RDFS:域C) - >(X的rdf:????C型)]

在該相同的示例塊,有兩個規則,其頭部具有三元組使用rdf:type

[rdfs3:(?x?p?y),(?p rdfs:range?c) - >(?y rdf:type?c)]
[rdfs9:(?x rdfs:subClassOf?y), ?rdf:type?x) - >(?a rdf:type?y)]

相關問題