@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix ottr:    <http://ns.ottr.xyz/0.4/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .

xsd:string
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Character strings (but not all Unicode character strings)" .

xsd:NMTOKEN
      ottr:subTypeOf xsd:Name ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "XML NMTOKENs" .

xsd:decimal
      ottr:subTypeOf owl:rational ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Arbitrary-precision decimal numbers" .

xsd:gYearMonth
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Gregorian calendar year and month" .

xsd:gMonthDay
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Gregorian calendar month and day" .

xsd:int
      ottr:subTypeOf xsd:long ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "-2147483648...+2147483647 (32 bit)" .

ottr:LUB
      rdfs:label "LUB<>" ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "ottr:LUB represents the mOTTR list type *LUB<>* (least upper bound)." .

xsd:nonNegativeInteger
      ottr:subTypeOf xsd:integer ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Integer numbers >=0" .

rdfs:Literal
      ottr:subTypeOf rdfs:Resource ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "The class rdfs:Literal is the class of literal values such as strings and integers" .

ottr:IRI
      ottr:subTypeOf rdfs:Resource ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "An IRI (Internationalized Resource Identifier) within an RDF graph is a Unicode string that conforms to the syntax defined in RFC 3987." .

xsd:hexBinary
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Hex-encoded binary data" .

xsd:unsignedLong
      ottr:subTypeOf xsd:positiveInteger ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "0...18446744073709551615 (64 bit)" .

<http://spec.ottr.xyz/rottr/0.2/Types>
      a       owl:Ontology .

xsd:integer
      ottr:subTypeOf xsd:decimal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Arbitrary-size integer numbers" .

xsd:double
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "64-bit floating point numbers incl. +-Inf, +-0, NaN" .

owl:DatatypeProperty
      ottr:subTypeOf ottr:IRI ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Data properties connect individuals with literals. In some knowledge representation systems, functional data properties are called attributes." .

rdfs:Resource
      <http://www.w3.org/2004/02/skos/core#definition>
              "All things described by RDF are called resources, and are instances of the class rdfs:Resource" .

ottr:Type
      a       owl:Class .

xsd:dateTimeStamp
      ottr:subTypeOf xsd:dateTime ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Date and time with required timezone" .

xsd:anyURI
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Absolute or relative URIs and IRIs" .

xsd:gYear
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Gregorian calendar year" .

xsd:unsignedByte
      ottr:subTypeOf xsd:unsignedShort ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "0...255 (8 bit)" .

owl:AnnotationProperty
      ottr:subTypeOf ottr:IRI ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Annotation properties can be used to provide an annotation for an ontology, axiom, or an IRI." .

xsd:positiveInteger
      ottr:subTypeOf xsd:nonNegativeInteger ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Integer numbers >0" .

xsd:yearMonthDuration
      ottr:subTypeOf xsd:duration ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Duration of time (months and years only)" .

owl:NamedIndividual
      ottr:subTypeOf ottr:IRI ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Individuals in the OWL 2 syntax represent actual objects from the domain." .

xsd:negativeInteger
      ottr:subTypeOf xsd:nonPositiveInteger ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Integer numbers <0" .

xsd:normalizedString
      ottr:subTypeOf xsd:string ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Whitespace-normalized strings" .

ottr:subTypeOf
      a       owl:ReflexiveProperty , owl:TransitiveProperty , owl:ObjectProperty ;
      rdfs:domain ottr:Type ;
      rdfs:range ottr:Type .

xsd:dayTimeDuration
      ottr:subTypeOf xsd:duration ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Duration of time (days, hours, minutes, seconds only)" .

xsd:unsignedInt
      ottr:subTypeOf xsd:unsignedLong ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "0...4294967295 (32 bit)" .

xsd:gMonth
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Gregorian calendar month" .

xsd:long
      ottr:subTypeOf xsd:integer ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "-9223372036854775808...+9223372036854775807 (64 bit)" .

xsd:short
      ottr:subTypeOf xsd:int ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "-32768...+32767 (16 bit)" .

xsd:unsignedShort
      ottr:subTypeOf xsd:unsignedInt ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "0...65535 (16 bit)" .

xsd:time
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Times (hh:mm:ss.sss...) with or without timezone" .

xsd:byte
      ottr:subTypeOf xsd:short ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "-128...+127 (8 bit)" .

xsd:nonPositiveInteger
      ottr:subTypeOf xsd:integer ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Integer numbers =<0" .

rdf:HTML
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "HTML content" .

xsd:language
      ottr:subTypeOf xsd:token ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Language tags per [BCP47]" .

rdf:XMLLiteral
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "XML content" .

owl:real
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "The set of all real numbers" .

xsd:duration
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Duration of time" .

owl:Class
      ottr:subTypeOf ottr:IRI ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Classes can be understood as sets of individuals." .

xsd:float
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "32-bit floating point numbers incl. +-Inf, +-0, NaN" .

rdf:List
      rdfs:label "List<>" ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "rdf:List represents the mOTTR list type *List<>*. The type contains all list terms." .

ottr:Bot
      ottr:subTypeOf xsd:string , xsd:NMTOKEN , xsd:decimal , xsd:gYearMonth , xsd:gMonthDay , xsd:int , ottr:LUB , xsd:nonNegativeInteger , rdfs:Literal , ottr:IRI , xsd:hexBinary , xsd:unsignedLong , xsd:integer , xsd:double , rdfs:Resource , owl:DatatypeProperty , xsd:dateTimeStamp , xsd:anyURI , xsd:gYear , xsd:unsignedByte , owl:AnnotationProperty , xsd:positiveInteger , xsd:yearMonthDuration , owl:NamedIndividual , xsd:negativeInteger , xsd:normalizedString , xsd:dayTimeDuration , xsd:unsignedInt , xsd:gMonth , xsd:long , xsd:short , xsd:unsignedShort , xsd:time , xsd:byte , xsd:nonPositiveInteger , rdf:HTML , xsd:language , rdf:XMLLiteral , owl:real , xsd:duration , owl:Class , xsd:float , rdf:List , ottr:Bot , owl:rational , xsd:Name , xsd:gDay , xsd:base64Binary , xsd:boolean , xsd:date , rdfs:Datatype , xsd:token , xsd:dateTime , ottr:NEList , xsd:NCName , owl:ObjectProperty .

owl:rational
      ottr:subTypeOf owl:real ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "The set of all rational numbers" .

xsd:Name
      ottr:subTypeOf xsd:token ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "XML Names" .

xsd:gDay
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Gregorian calendar day of the month" .

xsd:boolean
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "true, false" .

xsd:date
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Dates (yyyy-mm-dd) with or without timezone" .

xsd:base64Binary
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Base64-encoded binary data" .

xsd:token
      ottr:subTypeOf xsd:normalizedString ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Tokenized strings" .

rdfs:Datatype
      ottr:subTypeOf ottr:IRI ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Datatypes are entities that refer to sets of data values. Thus, datatypes are analogous to classes, the main difference being that the former contain data values such as strings and numbers, rather than individuals." .

xsd:dateTime
      ottr:subTypeOf rdfs:Literal ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Date and time with or without timezone" .

ottr:NEList
      rdfs:label "NEList<>" ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "ottr:NEList represents the mOTTR list type *NEList<>*. The type contains all non-empty list terms." .

xsd:NCName
      ottr:subTypeOf xsd:Name ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "XML NCNames" .

owl:ObjectProperty
      ottr:subTypeOf ottr:IRI ;
      <http://www.w3.org/2004/02/skos/core#definition>
              "Object properties connect pairs of individuals." .
