# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2024-2026 The Enola <https://enola.dev> Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# https://gitlab.com/sharedvocabs/vocabularies/-/raw/main/xml-schema/xml-schema.ttl

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

<http://www.w3.org/2001/XMLSchema#> rdf:type owl:Ontology .

#################################################################
#    Datatypes
#################################################################

###  http://www.w3.org/2001/XMLSchema#Name
xsd:Name rdf:type rdfs:Datatype ;
  rdfs:comment "XML Names"@en .


###  http://www.w3.org/2001/XMLSchema#date
xsd:date rdf:type rdfs:Datatype ;
  rdfs:comment "Dates (yyyy-mm-dd) with or without timezone"@en .


###  http://www.w3.org/2001/XMLSchema#dayTimeDuration
xsd:dayTimeDuration rdf:type rdfs:Datatype ;
  rdfs:comment "Duration of time (days, hours, minutes, seconds only)"@en .


###  http://www.w3.org/2001/XMLSchema#duration
xsd:duration rdf:type rdfs:Datatype ;
  rdfs:comment "Duration of time"@en .


###  http://www.w3.org/2001/XMLSchema#gDay
xsd:gDay rdf:type rdfs:Datatype ;
  rdfs:comment "Gregorian calendar day of the month"@en .


###  http://www.w3.org/2001/XMLSchema#gMonth
xsd:gMonth rdf:type rdfs:Datatype ;
  rdfs:comment "Gregorian calendar month"@en .


###  http://www.w3.org/2001/XMLSchema#gMonthDay
xsd:gMonthDay rdf:type rdfs:Datatype ;
  rdfs:comment "Gregorian calendar month and day"@en .


###  http://www.w3.org/2001/XMLSchema#gYear
xsd:gYear rdf:type rdfs:Datatype ;
  rdfs:comment "Gregorian calendar year"@en .


###  http://www.w3.org/2001/XMLSchema#gYearMonth
xsd:gYearMonth rdf:type rdfs:Datatype ;
  rdfs:comment "Gregorian calendar year and month"@en .


###  http://www.w3.org/2001/XMLSchema#hexBinary
xsd:hexBinary rdf:type rdfs:Datatype ;
  rdfs:comment "Hex-encoded binary data"@en .


###  http://www.w3.org/2001/XMLSchema#time
xsd:time rdf:type rdfs:Datatype ;
  rdfs:comment "Times (hh:mm:ss.sss…) with or without timezone"@en .


###  http://www.w3.org/2001/XMLSchema#yearMonthDuration
xsd:yearMonthDuration rdf:type rdfs:Datatype ;
  rdfs:comment "Duration of time (months and years only)"@en .


#################################################################
#    Annotations
#################################################################

xsd:NCName rdf:type rdfs:Datatype ;
  rdfs:comment "XML NCNames"@en .

xsd:NMTOKEN rdf:type rdfs:Datatype ;
  rdfs:comment "XML NMTOKENs"@en .

xsd:anyURI rdf:type rdfs:Datatype ;
  rdfs:comment "Absolute or relative URIs and IRIs"@en .

xsd:base64Binary rdf:type rdfs:Datatype ;
  rdfs:comment "Base64-encoded binary data"@en .

xsd:boolean rdf:type rdfs:Datatype ;
  rdfs:comment "true, false"@en .

xsd:byte rdf:type rdfs:Datatype ;
  rdfs:comment "-128…+127 (8 bit)"@en .

xsd:dateTime rdf:type rdfs:Datatype ;
  rdfs:comment "Date and time with or without timezone"@en .

xsd:dateTimeStamp rdf:type rdfs:Datatype ;
  rdfs:comment "Date and time with required timezone"@en .

xsd:decimal rdf:type rdfs:Datatype ;
  rdfs:comment "Arbitrary-precision decimal numbers"@en .

xsd:double rdf:type rdfs:Datatype ;
  rdfs:comment "64-bit floating point numbers incl. ±Inf, ±0, NaN"@en .

xsd:float rdf:type rdfs:Datatype ;
  rdfs:comment "32-bit floating point numbers incl. ±Inf, ±0, NaN"@en .

xsd:int rdf:type rdfs:Datatype ;
  rdfs:comment "-2147483648…+2147483647 (32 bit)"@en .

xsd:integer rdf:type rdfs:Datatype ;
  rdfs:comment "Arbitrary-size integer numbers"@en .

xsd:language rdf:type rdfs:Datatype ;
  rdfs:comment "Language tags per [http://tools.ietf.org/html/bcp47]"@en .

xsd:long rdf:type rdfs:Datatype ;
  rdfs:comment "-9223372036854775808…+9223372036854775807 (64 bit)"@en .

xsd:negativeInteger rdf:type rdfs:Datatype ;
  rdfs:comment "Integer numbers <0"@en .

xsd:nonNegativeInteger rdf:type rdfs:Datatype ;
  rdfs:comment "Integer numbers ≥0"@en .

xsd:nonPositiveInteger rdf:type rdfs:Datatype ;
  rdfs:comment "Integer numbers ≤0"@en .

xsd:normalizedString rdf:type rdfs:Datatype ;
  rdfs:comment "Whitespace-normalized strings"@en .

xsd:positiveInteger rdf:type rdfs:Datatype ;
  rdfs:comment "Integer numbers >0"@en .

xsd:short rdf:type rdfs:Datatype ;
  rdfs:comment "-32768…+32767 (16 bit)"@en .

xsd:string rdf:type rdfs:Datatype ;
  rdfs:comment "Character strings (but not all Unicode character strings)"@en .

xsd:token rdf:type rdfs:Datatype ;
  rdfs:comment "Tokenized strings"@en .

xsd:unsignedByte rdf:type rdfs:Datatype ;
  rdfs:comment "0…255 (8 bit)"@en .

xsd:unsignedInt rdf:type rdfs:Datatype ;
  rdfs:comment "0…4294967295 (32 bit)"@en .

xsd:unsignedLong rdf:type rdfs:Datatype ;
  rdfs:comment "0…18446744073709551615 (64 bit)"@en .

xsd:unsignedShort rdf:type rdfs:Datatype ;
  rdfs:comment "0…65535 (16 bit)"@en .

###  Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi
