21.01.2014 Views

Semantic Annotation for Process Models: - Department of Computer ...

Semantic Annotation for Process Models: - Department of Computer ...

Semantic Annotation for Process Models: - Department of Computer ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

9.2. SWRL FORMULATION 149<br />

RE3.2<br />

RE3.3<br />

RE3.4<br />

RE3.5<br />

RE3.6<br />

RE3.7<br />

Table 9.3: SWRL queries and rules <strong>for</strong> RE3<br />

RE3 Rule Name SWRL <strong>for</strong>mulation<br />

QRule-ActivityhasInput-relatedArtifact<br />

Activity(?x) ∧ has_ Input(?x, ?y) ∧ related_ Artif act(?y, ?z) → query :<br />

RE3.1<br />

select(?x, ?y, ?z) ∧ query : orderBy(?x)<br />

QRule-Activity-<br />

Activity(?x) ∧ has_Output(?x, ?y) ∧ related_ Artif act(?y, ?z) → query :<br />

hasOutput-<br />

select(?x, ?y, ?z) ∧ query : orderBy(?x)<br />

relatedArtifact<br />

IRule-Activity-InputhasArtifact<br />

Activity(?x) ∧ has_ Input(?x, ?y) ∧ related_ Arti f act(?y, ?z) →<br />

Activity(?x) ∧ has_ Artif act(?x, ?z)<br />

IRule-Activity-Output-<br />

Activity(?x) ∧ has_Output(?x, ?y) ∧ related_ Artif act(?y, ?z) →<br />

hasArtifact<br />

QRule-ActivityhasPrecedingActivitieshasSubActivity<br />

QRule-ActivityhasSucceedingActivitieshasSubActivity<br />

QRule-Activity-iterativepreceding<br />

QRule-Activity-iterativesucceeding<br />

IRule-Activitypreceding-inversesucceeding<br />

IRule-Activitysucceeding-inversepreceding<br />

IRule-ActivitysubActivity-hasArtifact<br />

IRule-ActivitysubActivity-hasActor<br />

QRule-ActivitysubActivity-transitiveachievesHG<br />

QRule-ActivitysubActivity-transitivepositivelysatisfiesSG<br />

QRule-ActivitysubActivity-transitivenegativelysatisfiesSG<br />

QRule-ActivityhassamePrecondition<br />

QRule-ActivityhassamePostcondition<br />

QRule-ActivityhasOutput-mappedtosameonto-ActivityhasInput<br />

Activity(?x) ∧ has_ Artif act(?x, ?z)<br />

Activity(?x) ∧ has_ precedingActivities(?x, ?y) ∧<br />

has_subActivity(?x, ?z) → query : select?y, ?z ∧ query : orderBy(?y)<br />

Activity(?x) ∧ has_succeedingActivities(?x, ?y) ∧<br />

has_subActivity(?x, ?z) → query : select?z, ?y ∧ query : orderBy(?y)<br />

Activity(?x) ∧ has_ precedingActivities(?x, ?x) → qurey : select(?x)<br />

Activity(?x) ∧ has_succeedingActivities(?x, ?x) → qurey : select(?x)<br />

Activity(?x) ∧ has_ precedingActivities(?x, ?y) → Activity(?y) ∧<br />

has_succeedingActivities(?y, ?x)<br />

Activity(?x) ∧ has_succeedingActivities(?x, ?y) → Activity(?y) ∧<br />

has_precedingActivities(?y, ?x)<br />

Activity(?x) ∧ has_subActivity(?x, ?y) ∧ has_ Artif act(?y, ?z) →<br />

Activity(?x) ∧ has_ Artif act(?x, ?z)<br />

Activity(?x) ∧ has_subActivity(?x, ?y) ∧ has_ Actor − role(?y, ?z) →<br />

Activity(?x) ∧ has_ Actor − role(?x, ?z)<br />

Activity(?x) ∧ has_subActivity(?x, ?y) ∧ achieves(?y, ?z) → query :<br />

select(?x, ?y, ?z) ∧ query : orderBy(?z)<br />

Activity(?x) ∧ has_subActivity(?x, ?y) ∧ positively_satis f ies(?y, ?z) →<br />

query : select(?x, ?y, ?z) ∧ query : orderBy(?z)<br />

Activity(?x) ∧ has_subActivity(?x, ?y) ∧ negatively_satis f ies(?y, ?z) →<br />

query : select(?x, ?y, ?z) ∧ query : orderBy(?z)<br />

Activity(?x) ∧ Activity(?y) ∧ name(?x, ?n) ∧ name(?y, ?m) ∧<br />

swrlb : notEqual(?n, ?m) ∧ has_Precondition(?x, ?z) ∧<br />

has_Precondition(?y, ?z) → query : select(?x, ?y, ?z)<br />

Activity(?x) ∧ Activity(?y) ∧ name(?x, ?n) ∧ name(?y, ?m) ∧<br />

swrlb : notEqual(?n, ?m) ∧ has_Postcondition(?x, ?z) ∧<br />

has_Postcondition(?y, ?z) → query : select(?x, ?y, ?z)<br />

Activity(?x) ∧ has_Output(?x?p) ∧ mapped_to(?p, ?o) ∧ Activity(?y) ∧<br />

has_Input(?y, ?q) ∧ mapped_to(?q, ?n) ∧ swrlb : equal(?o, ?n) → query :<br />

select(?x, ?y, ?o)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!