@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl> a owl:Ontology;
  rdfs:label "situation"^^rdf:PlainLiteral;
  owl:versionInfo "1.1 added rdfs:isDefinedBy for all named entities", "Created by Aldo Gangemi and Valentina Presutti";
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasAuthor> "Aldo Gangemi"^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#scenarios> "The lecture was held in January 1921 by Bela Fleck, with some physicians in the audience making questions, in a very relaxed athmosphere."^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasIntent> "To represent contexts or situations, and the things that are contextualized."^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasConsequences>
    """We can contextualize things that have something in common, or are associated: a same place, time, view, causal link, systemic dependence, etc.
We can also reify n-ary relations as situations."""^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#coversRequirements>
    "What is the context or situation of something? What are the things present in this context or situation?"^^rdf:PlainLiteral;
  <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#extractedFrom>
    "http://www.ontologydesignpatterns.org/ont/dul/DUL.owl"^^rdf:PlainLiteral;
  owl:imports <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl> .

owl:versionInfo a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasAuthor> a
    owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasConsequences>
  a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#scenarios> a
    owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#extractedFrom>
  a owl:AnnotationProperty .

rdfs:isDefinedBy a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#coversRequirements>
  a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#hasIntent> a
    owl:AnnotationProperty .

rdfs:label a owl:AnnotationProperty .

rdfs:comment a owl:AnnotationProperty .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#hasSetting> a owl:ObjectProperty;
  rdfs:label "has setting"@en;
  rdfs:comment "A relation between entities and situations, e.g. 'this morning I've prepared my coffee with a new fantastic Arabica' (i.e.: (an amount of) a new fantastic Arabica hasSetting the preparation of my coffee this morning).";
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/situation.owl>;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation>;
  owl:inverseOf <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor>;
  rdfs:domain owl:Thing .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor> a owl:ObjectProperty;
  rdfs:label "is setting for"@en;
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/situation.owl>;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation>;
  rdfs:range owl:Thing .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation> a owl:Class;
  rdfs:label "Situation"@en;
  rdfs:subClassOf _:f096;
  rdfs:comment """A view on a set of entities. It can be seen as a 'relational context', reifying a relation.
For example, a PlanExecution is a context including some actions executed by agents according to certain parameters and expected tasks to be achieved from a Plan; a DiagnosedSituation is a context of observed entities that is interpreted on the basis of a Diagnosis, etc.
Situation is also able to represent reified n-ary relations, where isSettingFor is the top-level relation for all binary projections of the n-ary relation. If used in a transformation pattern for n-ary relations, the designer should take care of:
- creating only one situation for each instance of an n-ary relation, otherwise the 'identification constraint' (Calvanese et al., IJCAI 2001) could be violated
- adding an 'exact cardinality' restriction corresponding to the arity of the n-ary relation, otherwise the designer would actually represent a polymorphic relation.""";
  rdfs:isDefinedBy <http://www.ontologydesignpatterns.org/cp/owl/situation.owl> .

_:f096 a owl:Restriction;
  owl:onProperty <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor>;
  owl:minCardinality "1"^^xsd:nonNegativeInteger .

owl:Thing a owl:Class .
