@prefix :      <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#> .
@prefix timeinterval: <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix cpannotationschema: <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

cpannotationschema:hasConsequences
        a       owl:AnnotationProperty .

owl:versionInfo  a  owl:AnnotationProperty .

timeinterval:hasIntervalEndDate
        a                   owl:DatatypeProperty ;
        rdfs:comment        "The end date of a time interval." ;
        rdfs:domain         timeinterval:TimeInterval ;
        rdfs:isDefinedBy    <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl> ;
        rdfs:label          "interval has end date"@en ;
        rdfs:subPropertyOf  timeinterval:hasIntervalDate .

<http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl>
        a                              owl:Ontology ;
        rdfs:comment                   "The time interval pattern. \nThis pattern is extracted from DOLCE-UltraLite by partial clone of elements and expansion. Two datatype properties have been added which allow to express the boundaries of the time interval.\nRanges of datatype properties are not indicated, because otherwise specializing them with different xsd datatypes would lead to inconsistencies."^^rdf:PlainLiteral ;
        cpannotationschema:coversRequirements
                "What is the end time of this interval? What is the starting time of this interval? What is the date of this time interval?"^^xsd:string ;
        cpannotationschema:extractedFrom
                "http://www.ontologydesignpatterns.org/ont/dul/DUL.owl"^^rdf:PlainLiteral ;
        cpannotationschema:hasConsequences
                "We can represent time intervals as objects.\nHowever, the dates of the time interval are not part of the domain of discourse, they are datatype values. If there is the need of reasoning about dates, this CP should be used in composition with the region CP."^^xsd:string ;
        cpannotationschema:hasIntent   "To represent time intervals."^^xsd:string ;
        cpannotationschema:relatedCPs  "It is a component of time-indexed person role, time indexed part of, and can be composed with other CPs when temporal aspects need to be represented."^^xsd:string ;
        cpannotationschema:scenarios   "The time inter val “January 2008” starts at 2008 − 01 − 0 and ends at 2008 − 01 − 31."^^xsd:string ;
        owl:imports                    <http://www.ontologydesignpatterns.org/schemas/cpannotationschema.owl> ;
        owl:versionInfo                "Created by Valentina Presutti"^^xsd:string , "1.1 added rdfs:isDefinedBy for all named entities"^^xsd:string .

cpannotationschema:scenarios
        a       owl:AnnotationProperty .

timeinterval:TimeInterval
        a                 owl:Class ;
        rdfs:comment      "Any Region in a dimensional space that aims at representing time.\nIt should be used when you want to talk about time as an object having some characteristics."^^xsd:string ;
        rdfs:isDefinedBy  <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl> ;
        rdfs:label        "Intervallo di tempo"@it , "Time interval"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                            owl:onProperty      timeinterval:hasIntervalEndDate
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:maxCardinality  "1"^^xsd:nonNegativeInteger ;
                            owl:onProperty      timeinterval:hasIntervalStartDate
                          ] .

cpannotationschema:coversRequirements
        a       owl:AnnotationProperty .

cpannotationschema:hasIntent
        a       owl:AnnotationProperty .

cpannotationschema:extractedFrom
        a       owl:AnnotationProperty .

timeinterval:hasIntervalStartDate
        a                   owl:DatatypeProperty ;
        rdfs:comment        "The start date of a time interval." ;
        rdfs:domain         timeinterval:TimeInterval ;
        rdfs:isDefinedBy    <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl> ;
        rdfs:label          "interval has start date"@en ;
        rdfs:subPropertyOf  timeinterval:hasIntervalDate .

rdfs:comment  a  owl:AnnotationProperty .

cpannotationschema:relatedCPs
        a       owl:AnnotationProperty .

timeinterval:hasIntervalDate
        a                 owl:DatatypeProperty ;
        rdfs:comment      "A datatype property that encodes values from xsd:date (or any other date-related xsd datatype) for a TimeInterval; a same TimeInterval can have more than one date value: begin date, end date, date at which the interval holds, as well as dates expressed in different formats: xsd:gYear, xsd:dateTime, etc." ;
        rdfs:domain       timeinterval:TimeInterval ;
        rdfs:isDefinedBy  <http://www.ontologydesignpatterns.org/cp/owl/timeinterval.owl> ;
        rdfs:label        "intervallo ha data"@it , "has interval date"@en .

rdfs:isDefinedBy  a  owl:AnnotationProperty .

rdfs:label  a   owl:AnnotationProperty .
