aboutsummaryrefslogtreecommitdiffstats
path: root/schemas/xsd.ttl
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-05-27 15:48:25 +0200
committerDavid Robillard <d@drobilla.net>2022-01-28 21:57:29 -0500
commitf93a441065a611cc32874dde67e53a8295c87baf (patch)
tree3793e2df1c365bf93fbe700c9428b54668f08c53 /schemas/xsd.ttl
parent2c5bee49b4494e172c4fa147af91bad199ed9362 (diff)
downloadserd-f93a441065a611cc32874dde67e53a8295c87baf.tar.gz
serd-f93a441065a611cc32874dde67e53a8295c87baf.tar.bz2
serd-f93a441065a611cc32874dde67e53a8295c87baf.zip
[WIP] Add validation
Diffstat (limited to 'schemas/xsd.ttl')
-rw-r--r--schemas/xsd.ttl363
1 files changed, 363 insertions, 0 deletions
diff --git a/schemas/xsd.ttl b/schemas/xsd.ttl
new file mode 100644
index 00000000..0bf5cf93
--- /dev/null
+++ b/schemas/xsd.ttl
@@ -0,0 +1,363 @@
+@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+xsd:
+ a owl:Ontology ;
+ rdfs:comment "XML Schema Datatypes" .
+
+xsd:anySimpleType
+ a rdfs:Datatype ;
+ rdfs:comment "The base class of any primitive XSD dataype." ;
+ rdfs:label "any simple type" .
+
+xsd:anyURI
+ a rdfs:Datatype ;
+ rdfs:label "any URI" ;
+ owl:onDatatype xsd:anySimpleType .
+
+xsd:base64Binary
+ a rdfs:Datatype ;
+ rdfs:comment "Base64-encoded arbitrary binary data." ;
+ rdfs:label "base64 binary" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "(([A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *)*(([A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/] *[A-Za-z0-9+/])|([A-Za-z0-9+/] *[A-Za-z0-9+/] *[AEIMQUYcgkosw048] *=)|([A-Za-z0-9+/] *[AQgw] *= *=)))?"
+ ]
+ ) .
+
+xsd:boolean
+ a rdfs:Datatype ;
+ rdfs:label "boolean" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "(true|false|0|1)"
+ ]
+ ) .
+
+xsd:byte
+ a rdfs:Datatype ;
+ rdfs:label "byte" ;
+ owl:onDatatype xsd:short ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 127
+ ]
+ [
+ xsd:minInclusive -128
+ ]
+ ) .
+
+xsd:date
+ a rdfs:Datatype ;
+ rdfs:label "date" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "-?[0-9][0-9][0-9][0-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|[-+][0-2][0-9]:[0-5][0-9])?"
+ ]
+ ) .
+
+xsd:dateTime
+ a rdfs:Datatype ;
+ rdfs:label "date time" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "-?[0-9][0-9][0-9][0-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([0-1][0-9])|(2[0-4])):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|[-+][0-2][0-9]:[0-5][0-9])?"
+ ]
+ ) .
+
+xsd:decimal
+ a rdfs:Datatype ;
+ rdfs:comment "A subset of the real numbers, which can be represented by decimal numerals." ;
+ rdfs:label "decimal" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?"
+ ]
+ ) .
+
+xsd:double
+ a rdfs:Datatype ;
+ rdfs:comment "IEEE double-precision 64-bit floating point." ;
+ rdfs:label "double" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?"
+ ]
+ ) .
+
+xsd:duration
+ a rdfs:Datatype ;
+ rdfs:label "duration" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "-?P([0-9]+Y)?([0-9]+M)?([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?)?"
+ ]
+ [
+ xsd:whiteSpace "collapse"
+ ]
+ ) .
+
+xsd:float
+ a rdfs:Datatype ;
+ rdfs:comment "IEEE single-precision 32-bit floating point." ;
+ rdfs:label "float" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "-?INF|NaN|[+-]?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))([eE][-+]?[0-9]+)?"
+ ]
+ [
+ xsd:whiteSpace "collapse"
+ ]
+ ) .
+
+xsd:fractionDigits
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:comment "The total number of digits to the right of the decimal point required to represent a value." ;
+ rdfs:label "fraction digits" ;
+ rdfs:range xsd:nonNegativeInteger .
+
+xsd:hexBinary
+ a rdfs:Datatype ;
+ rdfs:comment "Hex-encoded arbitrary binary data." ;
+ rdfs:label "hex binary" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "([0-9A-Fa-f][0-9A-Fa-f])*"
+ ]
+ ) .
+
+xsd:int
+ a rdfs:Datatype ;
+ rdfs:label "int" ;
+ owl:onDatatype xsd:long ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 2147483647
+ ]
+ [
+ xsd:minInclusive -2147483648
+ ]
+ ) .
+
+xsd:integer
+ a rdfs:Datatype ;
+ rdfs:label "integer" ;
+ owl:onDatatype xsd:decimal ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "[-+]?[0-9]+"
+ ]
+ [
+ xsd:fractionDigits 0
+ ]
+ ) .
+
+xsd:language
+ a rdfs:Datatype ;
+ rdfs:label "language" ;
+ owl:onDatatype xsd:token ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "[a-zA-Z][a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?[a-zA-Z]?(-[a-zA-Z0-9][a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?)*"
+ ]
+ ) .
+
+xsd:long
+ a rdfs:Datatype ;
+ rdfs:label "long" ;
+ owl:onDatatype xsd:integer ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 9223372036854775807
+ ]
+ [
+ xsd:minInclusive -9223372036854775808
+ ]
+ ) .
+
+xsd:maxExclusive
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:comment "The exclusive upper bound of an ordered datatype." ;
+ rdfs:label "max exclusive" .
+
+xsd:maxInclusive
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:comment "The inclusive upper bound of an ordered datatype." ;
+ rdfs:label "max inclusive" .
+
+xsd:minExclusive
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:comment "The exclusive lower bound of an ordered datatype." ;
+ rdfs:label "min exclusive" .
+
+xsd:minInclusive
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:comment "The inclusive lower bound of an ordered datatype." ;
+ rdfs:label "min inclusive" .
+
+xsd:negativeInteger
+ a rdfs:Datatype ;
+ rdfs:label "negative integer" ;
+ owl:onDatatype xsd:nonPositiveInteger ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive -1
+ ]
+ ) .
+
+xsd:nonNegativeInteger
+ a rdfs:Datatype ;
+ rdfs:label "non-negative integer" ;
+ owl:onDatatype xsd:integer ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "[+]?[0-9]+"
+ ]
+ [
+ xsd:minInclusive 0
+ ]
+ ) .
+
+xsd:nonPositiveInteger
+ a rdfs:Datatype ;
+ rdfs:label "non-positive integer" ;
+ owl:onDatatype xsd:integer ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "(0|-[0-9]+)"
+ ]
+ [
+ xsd:maxInclusive 0
+ ]
+ ) .
+
+xsd:normalizedString
+ a rdfs:Datatype ;
+ rdfs:comment "The set of strings that do not contain the carriage return (#xD), line feed (#xA) nor tab (#x9) characters." ;
+ rdfs:label "normalized string" ;
+ owl:onDatatype xsd:string .
+
+xsd:pattern
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:comment "A regular expression that matches complete valid literals." ;
+ rdfs:label "pattern" .
+
+xsd:positiveInteger
+ a rdfs:Datatype ;
+ rdfs:label "positive integer" ;
+ owl:onDatatype xsd:nonNegativeInteger ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "[+]?[0-9]*[1-9]+[0-9]*"
+ ]
+ [
+ xsd:minInclusive 1
+ ]
+ ) .
+
+xsd:short
+ a rdfs:Datatype ;
+ rdfs:label "short" ;
+ owl:onDatatype xsd:int ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 32767
+ ]
+ [
+ xsd:minInclusive -32768
+ ]
+ ) .
+
+xsd:string
+ a rdfs:Datatype ;
+ rdfs:comment "A character string." ;
+ rdfs:label "string" ;
+ owl:onDatatype xsd:anySimpleType .
+
+xsd:time
+ a rdfs:Datatype ;
+ rdfs:label "time" ;
+ owl:onDatatype xsd:anySimpleType ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "(([0-1][0-9])|(2[0-4])):[0-5][0-9]:[0-5][0-9](.[0-9]+)?(Z|[-+][0-2][0-9]:[0-5][0-9])?"
+ ]
+ ) .
+
+xsd:token
+ a rdfs:Datatype ;
+ rdfs:comment "The set of strings that do not contain the carriage return (#xD), line feed (#xA) nor tab (#x9) characters, that have no leading or trailing spaces (#x20) and that have no internal sequences of two or more spaces." ;
+ rdfs:label "token" ;
+ owl:onDatatype xsd:normalizedString .
+
+xsd:unsignedByte
+ a rdfs:Datatype ;
+ rdfs:label "unsigned byte" ;
+ owl:onDatatype xsd:unsignedShort ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 255
+ ]
+ ) .
+
+xsd:unsignedInt
+ a rdfs:Datatype ;
+ rdfs:label "unsigned int" ;
+ owl:onDatatype xsd:unsignedLong ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 4294967295
+ ]
+ ) .
+
+xsd:unsignedLong
+ a rdfs:Datatype ;
+ rdfs:label "unsigned long" ;
+ owl:onDatatype xsd:nonNegativeInteger ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 18446744073709551615
+ ]
+ ) .
+
+xsd:unsignedShort
+ a rdfs:Datatype ;
+ rdfs:label "unsigned short" ;
+ owl:onDatatype xsd:unsignedInt ;
+ owl:withRestrictions (
+ [
+ xsd:maxInclusive 65535
+ ]
+ ) .
+
+xsd:whiteSpace
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:comment "A string that describes whitespace normalization for a string type." ;
+ rdfs:label "white space" ;
+ rdfs:range [
+ a rdfs:Datatype ;
+ owl:onDatatype xsd:string ;
+ owl:withRestrictions (
+ [
+ xsd:pattern "(preserve|replace|collapse)"
+ ]
+ )
+ ] .