@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <file:///usr/local/archivo-data/w3.org/ns--shex/2021.12.06-145132/http;//purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix shex: <http://www.w3.org/ns/shex#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://www.w3.org/ns/shex#>
    dc:date "2017-07-07"^^xsd:date ;
    dc:description "This document describes the RDFS vocabulary description used in the Shape Expression Language (ShEx) [[shex-semantics]] along with the default JSON-LD Context and shape expression to validate RDF versions of shapes."@en ;
    dc:title "Shape Expression Vocabulary"@en ;
    a owl:Ontology ;
    rdfs:seeAlso <http://shex.io/shex-semantics> ;
    owl:versionInfo <https://github.com/shexSpec/shexspec.github.io/commit/e05f8e97471f5271f50612bed253102f770364b4> .

shex:Annotation
    a rdfs:Class ;
    rdfs:comment "Annotations provide a format-independent way to provide additional information about elements in a schema. "@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Annotation"@en .

shex:EachOf
    a rdfs:Class ;
    rdfs:comment "A TripleExpression composed of one or more sub-expressions, all of which must match."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Each Of"@en ;
    rdfs:subClassOf shex:TripleExpression .

shex:IriStem
    a rdfs:Class ;
    rdfs:comment "An IRI prefix used for matching IRIs."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "IRI Stem"@en ;
    rdfs:subClassOf shex:Stem .

shex:IriStemRange
    a rdfs:Class ;
    rdfs:comment "An IRI prefix (or wildcard) along with a set of excluded values, used for node matching."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "IRI StemRange"@en ;
    rdfs:subClassOf shex:StemRange .

shex:Language
    a rdfs:Class ;
    rdfs:comment "An Language tag used for matching Literal Languages."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Language"@en .

shex:LanguageStem
    a rdfs:Class ;
    rdfs:comment "An Language prefix used for matching Literal Languages."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Language Stem"@en ;
    rdfs:subClassOf shex:Stem .

shex:LanguageStemRange
    a rdfs:Class ;
    rdfs:comment "An Language prefix (or wildcard) along with a set of excluded values, used for node matching."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Language StemRange"@en ;
    rdfs:subClassOf shex:StemRange .

shex:LiteralStem
    a rdfs:Class ;
    rdfs:comment "An Literal prefix used for matching Literals."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Literal Stem"@en ;
    rdfs:subClassOf shex:Stem .

shex:LiteralStemRange
    a rdfs:Class ;
    rdfs:comment "An Literal prefix (or wildcard) along with a set of excluded values, used for node matching."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Literal StemRange"@en ;
    rdfs:subClassOf shex:StemRange .

shex:NodeConstraint
    a rdfs:Class ;
    rdfs:comment "A constraint on the type or value of an RDF Node."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Node Constraint"@en ;
    rdfs:subClassOf shex:ShapeExpression .

shex:NodeKind
    a rdfs:Class ;
    rdfs:comment "The set of kinds of RDF Nodes."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Node Kind"@en .

shex:OneOf
    a rdfs:Class ;
    rdfs:comment "A TripleExpression composed of one or more sub-expressions, one of which must match."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "One Of"@en ;
    rdfs:subClassOf shex:TripleExpression .

shex:Schema
    a rdfs:Class ;
    rdfs:comment "A Schema contains the set of shapes, used for matching a focus node."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Schema"@en .

shex:SemAct
    a rdfs:Class ;
    rdfs:comment "A list of Semantic Actions that serve as an extension point for Shape Expressions. They appear in lists in Schema's startActs and Shape, OneOf, EachOf and TripleConstraint's semActs."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Semantic Actions"@en .

shex:Shape
    a rdfs:Class ;
    rdfs:comment "A shapes schema is captured in a Schema object where shapes is a mapping from shape label to shape expression."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Shape Or"@en ;
    rdfs:subClassOf shex:ShapeExpression .

shex:ShapeAnd
    a rdfs:Class ;
    rdfs:comment "A ShapeExpression composed of one or more sub-expressions, all of which must match."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Shape And"@en ;
    rdfs:subClassOf shex:ShapeExpression .

shex:ShapeExpression
    a rdfs:Class ;
    rdfs:comment "The abstract class of Shape Expressions."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Shape Expression"@en .

shex:ShapeExternal
    a rdfs:Class ;
    rdfs:comment "A reference to a shape defined in some external Schema."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Shape External"@en ;
    rdfs:subClassOf shex:ShapeExpression .

shex:ShapeNot
    a rdfs:Class ;
    rdfs:comment "A ShapeNot is satisfied when it’s included ShapeExpression is not satisfied."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Shape Not"@en ;
    rdfs:subClassOf shex:ShapeExpression .

shex:ShapeOr
    a rdfs:Class ;
    rdfs:comment "A ShapeExpression composed of one or more sub-expressions, one of which must match."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Shape Or"@en ;
    rdfs:subClassOf shex:ShapeExpression .

shex:Stem
    a rdfs:Class ;
    rdfs:comment "Abstract class for Stems"@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Stem"@en .

shex:StemRange
    a rdfs:Class ;
    rdfs:comment "Abstract Class for Stem Ranges"@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "StemRange"@en .

shex:TripleConstraint
    a rdfs:Class ;
    rdfs:comment "A constraint on a triple having a specific predicate and optionally a shape expression used for matching values."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Triple Constraint"@en ;
    rdfs:subClassOf shex:TripleExpression .

shex:TripleExpression
    a rdfs:Class ;
    rdfs:comment "The abstract class of Triple Expressions."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Triple Expression"@en .

shex:Wildcard
    a rdfs:Class ;
    rdfs:comment "Indicates that a stem is a Wildcard, rather than a URI prefix."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "Wildcard"@en .

shex:annotation
    a rdf:Property ;
    rdfs:comment "Annotations on a TripleExpression."@en ;
    rdfs:domain [
        owl:unionOf (shex:EachOf
            shex:OneOf
            shex:TripleConstraint
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "annotation"@en ;
    rdfs:range shex:Annotation .

shex:bnode
    a shex:NodeKind ;
    rdfs:comment "Requires node to be a Blank Node"@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "bnode"@en .

shex:closed
    a rdf:Property ;
    rdfs:comment "Indicates that a Shape is closed, meaning that it may contain no property values other than those used within TripleConstraints."@en ;
    rdfs:domain shex:Shape ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "closed"@en ;
    rdfs:range xsd:boolean .

shex:code
    a rdf:Property ;
    rdfs:comment "Code executed by Semantic Action."@en ;
    rdfs:domain shex:SemAct ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "code"@en ;
    rdfs:range xsd:string .

shex:datatype
    a rdf:Property ;
    rdfs:comment "A datatype constraint."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "datatype"@en ;
    rdfs:range rdfs:Datatype .

shex:exclusion
    a rdf:Property ;
    rdfs:comment "Values that are excluded from value matching."@en ;
    rdfs:domain shex:StemRange ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "exclusion"@en ;
    rdfs:range [
        owl:unionOf (rdfs:Resource
            shex:Stem
        )
    ] .

shex:expression
    a rdf:Property ;
    rdfs:comment "Expression associated with the TripleExpression."@en ;
    rdfs:domain shex:Shape ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "expression"@en ;
    rdfs:range shex:TripleExpression .

shex:expressions
    a rdf:Property ;
    rdfs:comment "List of 2 or more expressions associated with the TripleExpression."@en ;
    rdfs:domain [
        owl:unionOf (shex:EachOf
            shex:OneOf
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "expressions"@en ;
    rdfs:range shex:TripleExpression .

shex:extra
    a rdf:Property ;
    rdfs:comment "Properties which may have extra values beyond those matched through a constraint."@en ;
    rdfs:domain shex:Shape ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "extra"@en ;
    rdfs:range rdfs:Resource .

shex:flags
    a rdf:Property ;
    rdfs:comment "Regular expression flags"@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "flags"@en ;
    rdfs:range xsd:string .

shex:fractiondigits
    a rdf:Property ;
    rdfs:comment "for \"fractiondigits\" constraints, v is less than or equals the number of digits to the right of the decimal place in the XML Schema canonical form[xmlschema-2] of the value of n, ignoring trailing zeros."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "fraction digits"@en ;
    rdfs:range xsd:integer ;
    rdfs:subPropertyOf shex:numericFacet .

shex:inverse
    a rdf:Property ;
    rdfs:comment "Constrains the subject of a triple, rather than the object."@en ;
    rdfs:domain shex:TripleConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "inverse"@en ;
    rdfs:range xsd:boolean .

shex:iri
    a shex:NodeKind ;
    rdfs:comment "Requires node to be an IRI"@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "iri"@en .

shex:languageTag
    a rdf:Property ;
    rdfs:comment "The value used to match the language tag of a language-tagged string."@en ;
    rdfs:domain shex:Language ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "language tag"@en ;
    rdfs:range xsd:string .

shex:length
    a rdf:Property ;
    rdfs:comment "The exact length of the value of the cell."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "length"@en ;
    rdfs:range xsd:integer ;
    rdfs:subPropertyOf shex:stringFacet .

shex:literal
    a shex:NodeKind ;
    rdfs:comment "Requires node to be an rdf:Literal"@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "literal"@en .

shex:max
    a rdf:Property ;
    rdfs:comment "Maximum number of times this TripleExpression may match; -1 for “*”"@en ;
    rdfs:domain [
        owl:unionOf (shex:EachOf
            shex:OneOf
            shex:TripleConstraint
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "maximum cardinality"@en ;
    rdfs:range xsd:integer .

shex:maxexclusive
    a rdf:Property ;
    rdfs:comment "An atomic property that contains a single number that is the maximum valid value (exclusive)."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "max exclusive"@en ;
    rdfs:range [
        owl:unionOf (xsd:integer
            xsd:decimal
            xsd:double
        )
    ] ;
    rdfs:subPropertyOf shex:numericFacet .

shex:maxinclusive
    a rdf:Property ;
    rdfs:comment "An atomic property that contains a single number that is the maximum valid value (inclusive)."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "max inclusive"@en ;
    rdfs:range [
        owl:unionOf (xsd:integer
            xsd:decimal
            xsd:double
        )
    ] ;
    rdfs:subPropertyOf shex:numericFacet .

shex:maxlength
    a rdf:Property ;
    rdfs:comment "A numeric atomic property that contains a single integer that is the maximum length of the value."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "max length"@en ;
    rdfs:range xsd:integer ;
    rdfs:subPropertyOf shex:stringFacet .

shex:min
    a rdf:Property ;
    rdfs:comment "Minimum number of times this TripleExpression may match."@en ;
    rdfs:domain [
        owl:unionOf (shex:EachOf
            shex:OneOf
            shex:TripleConstraint
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "minimum cardinatliy"@en ;
    rdfs:range xsd:integer .

shex:minexclusive
    a rdf:Property ;
    rdfs:comment "An atomic property that contains a single number that is the minimum valid value (exclusive)."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "min exclusive"@en ;
    rdfs:range [
        owl:unionOf (xsd:integer
            xsd:decimal
            xsd:double
        )
    ] ;
    rdfs:subPropertyOf shex:numericFacet .

shex:mininclusive
    a rdf:Property ;
    rdfs:comment "An atomic property that contains a single number that is the minimum valid value (inclusive)."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "min inclusive"@en ;
    rdfs:range [
        owl:unionOf (xsd:integer
            xsd:decimal
            xsd:double
        )
    ] ;
    rdfs:subPropertyOf shex:numericFacet .

shex:minlength
    a rdf:Property ;
    rdfs:comment "An atomic property that contains a single integer that is the minimum length of the value."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "min length"@en ;
    rdfs:range xsd:integer ;
    rdfs:subPropertyOf shex:stringFacet .

shex:name
    a rdf:Property ;
    rdfs:comment "Identifier of SemAct extension."@en ;
    rdfs:domain shex:SemAct ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "name"@en ;
    rdfs:range rdfs:Resource .

shex:nodeKind
    a rdf:Property ;
    rdfs:comment "Restiction on the kind of node matched; restricted to the defined instances of NodeKind. One of shex:iri, shex:bnode, shex:literal, or shex:nonliteral."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "node kind"@en ;
    rdfs:range shex:NodeKind .

shex:nonliteral
    a shex:NodeKind ;
    rdfs:comment "Requires node to be a Blank Node or IRI"@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "nonliteral"@en .

shex:numericFacet
    a rdf:Property ;
    rdfs:comment "Abstract property of numeric facets on a NodeConstraint."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label ""@en ;
    rdfs:subPropertyOf shex:xsFacet .

shex:object
    a rdf:Property ;
    rdfs:comment "The object of an Annotation."@en ;
    rdfs:domain shex:Annotation ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "object"@en ;
    rdfs:range rdfs:Resource .

shex:pattern
    a rdf:Property ;
    rdfs:comment "A regular expression used for matching a value."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "pattern"@en ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf shex:stringFacet .

shex:predicate
    a rdf:Property ;
    rdfs:comment "The predicate of a TripleConstraint or Annotation."@en ;
    rdfs:domain [
        owl:unionOf (shex:Annotation
            shex:TripleConstraint
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "predicate"@en ;
    rdfs:range rdfs:Resource .

shex:semActs
    a rdf:Property ;
    rdfs:comment "Semantic Actions on this TripleExpression."@en ;
    rdfs:domain [
        owl:unionOf (shex:EachOf
            shex:OneOf
            shex:TripleConstraint
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "semantic action"@en ;
    rdfs:range shex:SemAct .

shex:shapeExpr
    a rdf:Property ;
    rdfs:comment "Shape Expression referenced by this shape."@en ;
    rdfs:domain shex:ShapeNot ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "shape expression"@en ;
    rdfs:range shex:ShapeExpression .

shex:shapeExprs
    a rdf:Property ;
    rdfs:comment "A list of 2 or more Shape Expressions referenced by this shape."@en ;
    rdfs:domain [
        owl:unionOf (shex:ShapeAnd
            shex:ShapeOr
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "shape expressions"@en ;
    rdfs:range shex:ShapeExpression ;
    rdfs:subPropertyOf shex:shapeExpr .

shex:shapes
    a rdf:Property ;
    rdfs:comment "Shapes in this Schema."@en ;
    rdfs:domain shex:Schema ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "shapes"@en ;
    rdfs:range shex:ShapeExpression .

shex:start
    a rdf:Property ;
    rdfs:comment "A ShapeExpression matched against the focus node prior to any other mapped expressions."@en ;
    rdfs:domain shex:Schema ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "start"@en ;
    rdfs:range shex:ShapeExpression .

shex:startActs
    a rdf:Property ;
    rdfs:comment "Semantic Actions run on the Schema."@en ;
    rdfs:domain shex:Schema ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "start actions"@en ;
    rdfs:range shex:SemAct .

shex:stem
    a rdf:Property ;
    rdfs:comment "A stem value used for matching or excluding values."@en ;
    rdfs:domain [
        owl:unionOf (shex:Stem
            shex:StemRange
        )
    ] ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "stem"@en ;
    rdfs:range [
        owl:unionOf (xsd:string
            shex:Wildcard
        )
    ] .

shex:stringFacet
    a rdf:Property ;
    rdfs:comment "An abstract property of string facets on a NodeConstraint."@en ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label ""@en ;
    rdfs:subPropertyOf shex:xsFacet .

shex:totaldigits
    a rdf:Property ;
    rdfs:comment "for \"totaldigits\" constraints, v equals the number of digits in the XML Schema canonical form[xmlschema-2] of the value of n"@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "total digits"@en ;
    rdfs:range xsd:integer ;
    rdfs:subPropertyOf shex:numericFacet .

shex:valueExpr
    a rdf:Property ;
    rdfs:comment "A ShapeExpression used for matching the object (or subject if inverted) of a TripleConstraint."@en ;
    rdfs:domain shex:TripleConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "value expression"@en ;
    rdfs:range shex:ShapeExpression .

shex:values
    a rdf:Property ;
    rdfs:comment "A value restriction on a NodeConstraint."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label "values"@en ;
    rdfs:range [
        owl:unionOf (rdfs:Resource
            shex:Language
            shex:Stem
            shex:StemRange
        )
    ] .

shex:xsFacet
    a rdf:Property ;
    rdfs:comment "An abstract property of string and numeric facets on a NodeConstraint."@en ;
    rdfs:domain shex:NodeConstraint ;
    rdfs:isDefinedBy <http://www.w3.org/ns/shex#> ;
    rdfs:label ""@en .

