OTTR templates for the Requirements Ontology

Johan W. Klüwer

OTTR user forum, 2021-06-18

1. Ontologies without patterns?

  • Publish an ontology as Linked Data

✵✵✵✵✵ 5 STARS ✵✵✵✵✵

  • But how to express complex facts?

2. Announcing: A new OTTR library

3. Reified Requirements

a requires: if A and B, then C

4. Table of requirements

requirement positer Requirement_label scope condition demand
ex:Req1 ex:Boss If rich and smart, be generous ex:Rich ex:Smart ex:Generous
ex:Req2 ex:Boss If poor, work hard ex:Poor   ex:Industrious

5. Fairly complicated

A reified requirement.

ex:Req1  a            req:REQ_0011 ;
        rdfs:label    "If rich and smart, be generous" ;
        req:REQ_0018  [ a             req:REQ_0008 ;
                        req:REQ_0019  ex:Smart ;
                        req:REQ_0020  ex:Generous ;
                        req:REQ_0021  ex:Rich
                      ] ;
        req:REQ_0022  ex:Boss .

6. Reified Requirements, applied as axioms

Requirement r = “a requires: if A and B, then C

  • (A and B) subclass of C
  • (A and B) subclass of (C or violates-requirement r)

7. Complicated!

Applied, as a General Concept Inclusion axioms, for reasoning.

[ a                      owl:Axiom ;
  owl:annotatedProperty  rdfs:subClassOf ;
  owl:annotatedSource    [ a                   owl:Class ;
                           rdfs:subClassOf     req:REQ_0024 , ex:Generous ;
                           owl:intersectionOf  ( ex:Rich ex:Smart )
                         ] ;
  owl:annotatedTarget    ex:Generous ;
  req:REQ_0002           ex:Req1
] .

8. Template library = pain-killer

  • Templates that build requirements
    • reqtpl:Requirement
    • reqtpl:RequirementWithConditionStatement
    • reqtpl:SCD_Clause
    • reqtpl:Requirement
  • Templates that apply requirements as axioms

    • reqtpl:RequirementGCI
    • reqtpl:RequirementViolationGCI

9. About the library

http://w3id.org/requirement-ontology/tpl/