# baseURI: http://example.org/geologic
# imports: http://www.w3.org/2006/time

@prefix : <http://www.w3.org/2006/time#> .
@prefix geol: <http://example.org/geologic/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://example.org/geologic>
  rdf:type owl:Ontology ;
  owl:imports <http://www.w3.org/2006/time> ;
.
geol:Archean
  rdf:type :ProperInterval ;
  :hasBeginning geol:BaseArchean ;
  :hasEnd geol:BaseProterozoic ;
  :intervalMetBy geol:Hadean ;
  rdfs:label "Archean Eon"^^xsd:string ;
.
geol:BaseArchean
  rdf:type :Instant ;
  :inTimePosition geol:BaseArcheanPosition ;
  rdfs:label "Base of Archean Eon"^^xsd:string ;
.
geol:BaseArcheanPosition
  rdf:type :TimePosition ;
  :hasTRS <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
  :numericPosition "4000"^^:Number ;
  rdfs:label "Temporal position of Base of Archean Eon"^^xsd:string ;
.
geol:BaseCenozoic
  rdf:type :Instant ;
  :inTimePosition [
      rdf:type :TimePosition ;
      :hasTRS <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
      :numericPosition "66.0"^^:Number ;
    ] ;
  rdfs:label "Base of Cenozoic Era"^^xsd:string ;
.
geol:BaseMesozoic
  rdf:type :Instant ;
  :inTimePosition [
      rdf:type :TimePosition ;
      :hasTRS <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
      :numericPosition "252.17"^^:Number ;
    ] ;
  rdfs:label "Base of Mesozoic Era"^^xsd:string ;
.
geol:BasePhanerozoic
  rdf:type :Instant ;
  :inTimePosition [
      rdf:type :TimePosition ;
      :hasTRS <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
      :numericPosition "541.0"^^:Number ;
    ] ;
  rdfs:label "Base of Phanerozoic Eon"^^xsd:string ;
.
geol:BaseProterozoic
  rdf:type :Instant ;
  :inTimePosition geol:BaseProterozoicPosition ;
  rdfs:label "Base of Proterozoic Eon"^^xsd:string ;
.
geol:BaseProterozoicPosition
  rdf:type :TimePosition ;
  :hasTRS <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
  :numericPosition "2500"^^:Number ;
  rdfs:label "Temporal position of Base of Proterozoic Eon"^^xsd:string ;
.
geol:Cambrian
  rdf:type :ProperInterval ;
  :hasBeginning geol:BasePhanerozoic ;
  rdfs:label "Cambrian Period"^^xsd:string ;
.
geol:Carboniferous
  rdf:type :ProperInterval ;
  :intervalMetBy geol:Devonian ;
  rdfs:label "Carboniferous Period"^^xsd:string ;
.
geol:Cenozoic
  rdf:type :ProperInterval ;
  :hasBeginning geol:BaseCenozoic ;
  :hasEnd geol:Present ;
  :intervalFinishedBy geol:Quaternary ;
  :intervalMetBy geol:Mesozoic ;
  :intervalStartedBy geol:Paleogene ;
  rdfs:label "Cenozoic Era"^^xsd:string ;
.
geol:Cretaceous
  rdf:type :ProperInterval ;
  :hasEnd geol:BaseCenozoic ;
  :intervalMetBy geol:Jurassic ;
  rdfs:label "Creataceous Period"^^xsd:string ;
.
geol:Devonian
  rdf:type :ProperInterval ;
  :intervalMetBy geol:Silurian ;
  rdfs:label "Devonian Period"^^xsd:string ;
.
geol:Hadean
  rdf:type :ProperInterval ;
  rdfs:label "Hadean Eon"^^xsd:string ;
.
geol:Jurassic
  rdf:type :ProperInterval ;
  :intervalMetBy geol:Triassic ;
  rdfs:label "Jurassic Period"^^xsd:string ;
.
geol:Mesozoic
  rdf:type :ProperInterval ;
  :hasBeginning geol:BaseMesozoic ;
  :hasEnd geol:BaseCenozoic ;
  :intervalFinishedBy geol:Cretaceous ;
  :intervalMetBy geol:Paleozoic ;
  :intervalStartedBy geol:Triassic ;
  rdfs:label "Mesozoic Era"^^xsd:string ;
.
geol:Neogene
  rdf:type :ProperInterval ;
  :intervalMetBy geol:Paleogene ;
  rdfs:label "Neogene Period"^^xsd:string ;
.
geol:Ordovician
  rdf:type :ProperInterval ;
  :intervalMetBy geol:Cambrian ;
  rdfs:label "Ordovician Period"^^xsd:string ;
.
geol:Paleogene
  rdf:type :ProperInterval ;
  :hasBeginning geol:BaseCenozoic ;
  :intervalMetBy geol:Cretaceous ;
  rdfs:label "Paleogene Period"^^xsd:string ;
.
geol:Paleozoic
  rdf:type :ProperInterval ;
  :hasBeginning geol:BasePhanerozoic ;
  :hasEnd geol:BaseMesozoic ;
  :intervalFinishedBy geol:Permian ;
  :intervalStartedBy geol:Cambrian ;
  rdfs:label "Paleozoic Era"^^xsd:string ;
.
geol:Permian
  rdf:type :ProperInterval ;
  :hasEnd geol:BaseMesozoic ;
  :intervalMetBy geol:Carboniferous ;
  rdfs:label "Permian Period"^^xsd:string ;
.
geol:Phanerozoic
  rdf:type :ProperInterval ;
  :hasBeginning geol:BasePhanerozoic ;
  :hasEnd geol:Present ;
  :intervalFinishedBy geol:Cenozoic ;
  :intervalMetBy geol:Proterozoic ;
  :intervalStartedBy geol:Paleozoic ;
  rdfs:label "Phanerozoic Eon"^^xsd:string ;
.
geol:Present
  rdf:type :Instant ;
  :inDateTime [
      rdf:type :DateTimeDescription ;
      :unitType :unitYear ;
      :year "1950"^^xsd:gYear ;
    ] ;
  :inTimePosition [
      rdf:type :TimePosition ;
      :hasTRS <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
      :numericPosition "0.0"^^:Number ;
    ] ;
  :inXSDDateTime "1950-01-01T00:00:00Z"^^xsd:dateTime ;
  rdfs:label "The present"^^xsd:string ;
.
geol:Proterozoic
  rdf:type :ProperInterval ;
  :hasEnd geol:BasePhanerozoic ;
  :intervalMetBy geol:Archean ;
  rdfs:label "Proterozoic Eon"^^xsd:string ;
.
geol:Quaternary
  rdf:type :ProperInterval ;
  :hasEnd geol:Present ;
  :intervalMetBy geol:Neogene ;
  rdfs:label "Quaternary Period"^^xsd:string ;
.
geol:Silurian
  rdf:type :ProperInterval ;
  :intervalMetBy geol:Ordovician ;
  rdfs:label "Silurian Period"^^xsd:string ;
.
geol:TimeScale
  rdf:type :TRS ;
  :hasMember geol:Archean ;
  :hasMember geol:Hadean ;
  :hasMember geol:Phanerozoic ;
  :hasMember geol:Proterozoic ;
  rdfs:label "Geologic timescale"^^xsd:string ;
.
geol:Triassic
  rdf:type :ProperInterval ;
  :hasBeginning geol:BaseMesozoic ;
  :intervalMetBy geol:Permian ;
  rdfs:label "Triassic Period"^^xsd:string ;
.
