PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX tvc: <http://www.essepuntato.it/2012/04/tvc/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

<http://www.w3.org/2006/time#Instant> a rdfs:Class ;
  rdfs:label "time instant"@en ;
  rdfs:comment "A temporal entity with zero extent or duration."@en ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

<http://www.w3.org/2003/11/swrl#Variable> a rdfs:Class .

tvc:ValueInTime a rdfs:Class ;
  rdfs:label "value in time"@en ;
  rdfs:comment "A particular kind of time-indexed situation that represents a hub linking the entity having a particular value, the value itself and the temporal and contextual extents from which the entity-value relationship depends."@en ;
  rdfs:subClassOf <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> .

tvc:withValue a rdf:Property ;
  rdfs:label "with value"@en ;
  rdfs:comment "The relation between the value held by the entity taking part to the value-in-time situation."@en ;
  rdfs:domain tvc:ValueInTime ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#forEntity> .

tvc:withinContext a rdf:Property ;
  rdfs:label "within context"@en ;
  rdfs:comment "The relation between the specific context within which the fact of the entity having the value is relevant."@en ;
  rdfs:domain tvc:ValueInTime ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#forEntity> .

tvc:atTime a rdf:Property ;
  rdfs:label "at time"@en ;
  rdfs:comment "The relation between a value-in-time situation and the particular temporal instant or time period in which the situation takes place."@en ;
  rdfs:domain tvc:ValueInTime ;
  rdfs:range <http://www.w3.org/2006/time#TemporalEntity> ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#atTime> a rdf:Property ;
  rdfs:label "at time"@en ;
  rdfs:comment "The relation between a time-indexed situation and a time interval."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor> .

<http://www.w3.org/2006/time#Interval> a rdfs:Class ;
  rdfs:label "time interval"@en ;
  rdfs:comment "A temporal entity with an extent or duration."@en ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

<http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#TimeInterval> a rdfs:Class ;
  rdfs:label "time interval"@en ;
  rdfs:comment "A region in a dimensional space that aims at representing time."@en .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation> a rdfs:Class ;
  rdfs:label "situation"@en ;
  rdfs:comment "A view on a set of entities. It can be seen as a 'relational context', reifying a relation."@en .

<http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor> a rdf:Property ;
  rdfs:label "is setting for"@en ;
  rdfs:comment "The relation between a situation and an entity."@en ;
  rdfs:domain <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#Situation> ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> a rdfs:Class .

<http://www.w3.org/2006/time#TemporalEntity> a rdfs:Class ;
  rdfs:label "temporal entity"@en ;
  rdfs:comment "A temporal interval or instant."@en .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

tvc:hasValue a rdf:Property ;
  rdfs:label "has value"@en ;
  rdfs:comment "The relation between an entity (e.g., a person) and a particular value-in-time situation."@en ;
  rdfs:range tvc:ValueInTime ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#hasTimeIndexedSetting> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#forEntity> a rdf:Property ;
  rdfs:label "for entity"@en ;
  rdfs:comment "The relation between a time-indexed situation and an entity."@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://www.ontologydesignpatterns.org/cp/owl/situation.owl#isSettingFor> .

<http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#hasTimeIndexedSetting> a rdf:Property ;
  rdfs:label "has time indexed setting"@en ;
  rdfs:comment "The relation between an entity and a time-indexed situation."@en ;
  rdfs:range <http://www.ontologydesignpatterns.org/cp/owl/timeindexedsituation.owl#TimeIndexedSituation> .
