[oml2owl] need support for SWRL builtin predicates
NicolasRouquette opened this issue · comments
User Story
As an ontologist, I would like support for SWRL builtin predicates so that I can write SWRL rules with builtin predicates from section 8: https://www.w3.org/Submission/SWRL/#8.
Detailed Description
Description providing additional details and context.
example:
rule transfersOut-junction-transfersIn [
mission:transfersOut(outIF, data) ^
mission:joins(junction, outIF) ^
mission:joins(junction, inIF)
// without the following clause, the reasoner can bind outIF = inF
// ^ swrlb:notEqual(outIF,inIF)
->
mission:transfersIn(inIF, data)
]
Currently, we have to use directed relations like this:
rule transfersOut-junction-transfersIn [
mission:transfersOut(outIF, data) ^
mission:joins2(junction, outIF) ^
mission:joins1(junction, inIF)
->
mission:transfersIn(inIF, data)
]
However, this assumes that mission:joins1
corresponds to an input and mission:joins2
to an output.
Acceptance Criteria
- Given [Condition], then [Expected Result]
- Given [Condition], then [Expected Result]
- Given [Condition], then [Expected Result]
Sub-task List
- Task 1
- Task 2
- Task 3
While it's not a built-in atom, you can now use differentFrom(x, y) predicate in OML to support the example above.