swrl

SWRL tab in Protege 4

好久不见. 提交于 2019-12-02 21:27:40
The protege SWRL tab is not available in Protege 4 versions, I have tried both protege 4.1 and protege 4.2. The axiome plugin mentioned to edit the SWRL rules in protege has been said to work only in protege 3 versions. Can anyone tell me plugins or procedure to include the plugin to edit SWRL rules in protege? SWRL rules can be edited in Protégé 4, but not with a nice interface like in Protégé 3. If you go to menu Window -> Views -> Ontology views, there is an option Rules. Select it and add it as a "view", i.e., a rectangle in the current tab. Rules are written like this: parent(?x,?y),

SWRL and Rolification cannot return what I want

好久不见. 提交于 2019-12-02 09:26:56
问题 I have developed an ontology and I want to add the following SWRL in protege: Divider_intersection(?node), is_extent_of(?node, ?s), builds(?s, ?l),Segment(?s),Lane(?l),detailed_partition(?d), builds(?l, ?d)-> is_divided_at(?d, ?node) with this I wish to add an object property, is_divided_at, between an individual from detailed_partition (?d) and a node that is classified as a divider_intersection if it is the extent of a segment (?s) that build a lane (?l) which then build the detailed

SWRL and Rolification cannot return what I want

大憨熊 提交于 2019-12-02 03:36:07
I have developed an ontology and I want to add the following SWRL in protege: Divider_intersection(?node), is_extent_of(?node, ?s), builds(?s, ?l),Segment(?s),Lane(?l),detailed_partition(?d), builds(?l, ?d)-> is_divided_at(?d, ?node) with this I wish to add an object property, is_divided_at, between an individual from detailed_partition (?d) and a node that is classified as a divider_intersection if it is the extent of a segment (?s) that build a lane (?l) which then build the detailed?partition (?d). As noted here, I am looking for NamedIndividuals, hence I presume the SWRL should do the job.

Disjunction inside SWRL rule

回眸只為那壹抹淺笑 提交于 2019-11-29 13:08:25
I am using Protege 4.3 to make some SWRL rules. Is it possible to write a rule that contains a disjunction in it For instance : Person(?x), Age(?x,?age), (?age < 10 or ?age > 30) -> blabla(?x) Meaning all people having age < 10 OR > 30 You can't directly express a disjunction in the rule body the way that you'd like to, unfortunately, but there are some workarounds. The most direct solution is to write two rules: Person(?x), Age(?x,?age), ?age < 10 -> blah(?x) Person(?x), Age(?x,?age), ?age > 30 -> blah(?x) SWRL does support the use of class expressions (see more in Martin Kuba's OWL 2 and

OWL 2 reasoning with SWRL rules

拜拜、爱过 提交于 2019-11-28 02:14:23
问题 I'm trying to use the HermiT reasoner to compute inferences for an ontology which contains a set of OWL axioms and a SWRL rule: Ontology( ClassAssertion( :Student :Bob ) ClassAssertion( :Professor :DrBoffin ) ClassAssertion( :University :UF ) ObjectPropertyAssertion( :supervises :DrBoffin :Bob ) ObjectPropertyAssertion( :worksAt :DrBoffin :UF ) EquivalentClasses( :Student ObjectHasSelf( :r1 )) EquivalentClasses( ObjectHasSelf( :r2 ) ObjectSomeValuesFrom( :worksAt :University ))

SWRL rules in protege 3.4.8

ε祈祈猫儿з 提交于 2019-11-27 14:53:42
I created an ontology that contains the class Blood_Sugar this class contains 4 subclasses: Normal_BS, High_BS, Low_BS and Dangerous_BS. I would like to execute a SWRL rule on Protege 3.4.8 which permit to classify individuals of the supere class Blood_Sugar in subclasses according to their values. Blood_Pressure(?x) ∧ hasLevelvalue(?x, ?y) ∧ swrlb:greaterThan(?y, 126) ∧ swrlb:lessThan(?y, 500) → High_BS(?x) knowing that hasLevelValue is a DataType proprety, its domain is Blood_Sugar class and its range is INT On the Blood_Sugar class and thier subclasses class, I created the restriction

SWRL rules don't infer new Object and Data Property Assertions

百般思念 提交于 2019-11-26 23:19:50
问题 I have created this ontology which contains two classes: Blood-Sugar and Services . Blood-Sugar has two data properties: hasValu with range xsd:int, and hasStatut with range xsd:string. The object property triggerService has Blood-Sugar as domain and Service as range. I want to infer a data property assertion with this rule: Blood_Sugar(?x) ∧ hasValue(?x, ?y) ∧ swrlb:greaterThan(?y, 126) ∧ swrlb:lessThan(?y, 500) → hasStatut(?x, "High") Then I want to infer a new object property with this

Ontology property definition in Protégé-OWL / SWRL

China☆狼群 提交于 2019-11-26 23:09:21
I need to implement an OWL-ontology in Protégé, which contains a two classes: s1 and s2 , both are the instances of System class. These two classes are connected by the connection class s1_s2 , which contains property omega . This property has to take a value according to the following law: omega = 1 * s1.complete How can I implement it in Protégé, such way I could use it in SWRL-rule in the future? In general, you'd start by defining the classes and the properties that you need: At this point you could add some axioms that govern how the systems have to interact, how the properties work, etc.

OWL 2 rolification

时间秒杀一切 提交于 2019-11-26 20:32:02
In description logic, there is a concept called "rolification" ( OWL and Rules, Sec 3.2 ). It converts a concept (class) into a role (property). For example, when we rolify R(x) , we get r(x,x) . This technique is useful for expressing some rules in DL. How do we do this in OWL 2? It seems that there is no direct support for rolification in OWL 2 specification . Section 3.2 of the paper that you linked to says: It is indeed possible to translate this rule into OWL 2—however this involves a transformation which we call rolification: The rolification of a concept A is a (new) role R A defined by

SWRL rules in protege 3.4.8

喜你入骨 提交于 2019-11-26 16:57:03
问题 I created an ontology that contains the class Blood_Sugar this class contains 4 subclasses: Normal_BS, High_BS, Low_BS and Dangerous_BS. I would like to execute a SWRL rule on Protege 3.4.8 which permit to classify individuals of the supere class Blood_Sugar in subclasses according to their values. Blood_Pressure(?x) ∧ hasLevelvalue(?x, ?y) ∧ swrlb:greaterThan(?y, 126) ∧ swrlb:lessThan(?y, 500) → High_BS(?x) knowing that hasLevelValue is a DataType proprety, its domain is Blood_Sugar class