opencaesar / owl-adapter

The OML adapter for OWL

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[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.