MellonScholarlyCommunication / spec-rulelanguage

This document specifies the definition and application of a rule language to capture machine-readable business processes.
https://mellonscholarlycommunication.github.io/spec-rulelanguage/
1 stars 1 forks source link

Putting the notification identifier as subject in a rulebook where clause is probably wrong moddeling #6

Open phochste opened 3 years ago

phochste commented 3 years ago

In the examples we copy the notification identifier as subject of the then clause:

when

  ?s a as:Announce . OR
    ?s a as:Create .

then

  ?s pol:policy [
      a fno:Execution ;
      fno:executes ex:appendToLog
  ] .
  ?s pol:policy [
      a fno:Execution ;
      fno:executes ex:removeBlindCopies
  ] .

This is probably a wrong model where we add statements about a notification that are not true in general. It is better to create an anonymous blank node (or an identifier) for each policy as in:

when

  ?s a as:Announce . OR
    ?s a as:Create .

then

  [ pol:policy [
      a fno:Execution ;
      fno:executes ex:appendToLog
  ] ].

  [ pol:policy [
      a fno:Execution ;
      fno:executes ex:removeBlindCopies
  ] ].
phochste commented 3 years ago

It could be made even simpeler by only using the FNO vocabulary:

when

  ?s a as:Announce . OR
    ?s a as:Create .

then

  [
      a fno:Execution ;
      fno:executes ex:appendToLog
  ] .
  [
      a fno:Execution ;
      fno:executes ex:removeBlindCopies
  ] .