opencaesar / owl-adapter

The OML adapter for OWL
Apache License 2.0
0 stars 2 forks source link

[oml2owl] need support for SWRL builtin predicates #45

Closed NicolasRouquette closed 3 years ago

NicolasRouquette commented 3 years ago

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

Sub-task List

melaasar commented 3 years ago

While it's not a built-in atom, you can now use differentFrom(x, y) predicate in OML to support the example above.