uco-owl:Sequence-shape leaf node


URI

https://ontology.unifiedcyberontology.org/owl/Sequence-shape

Label

Sequence-shape

Description

This shape intentionally has no target declaration. It is instead intended to be incorporated using 'sh:node'.

Implementation

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix uco-owl: <https://ontology.unifiedcyberontology.org/owl/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

uco-owl:Sequence-shape a sh:NodeShape ;
    rdfs:comment "This shape intentionally has no target declaration.  It is instead intended to be incorporated using 'sh:node'."@en ;
    rdfs:seeAlso <https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/#Mapping_from_RDF_Graphs_to_the_Structural_Specification> ;
    sh:description "This shape is determined from review of the canonical parsing process in Section 3 of the OWL 2 mapping to RDF, particularly Tables 3 and 5.  Table 5 removes any triple matching the pattern 'x a rdf:List`.  All other references throughout Section 3 to rdf:first are in the context of mapping a Sequence in OWL structure translation, and are denoted as blank nodes, starting with Table 3.  A non-blank node that is an rdf:List and used with a sequence-valued property IRI in the OWL namespace will not be mapped and consumed by the mapping process, making the graph non-conformant with OWL 2 DL.  But a non-blank node that is an rdf:List can be used if not directly attached to a sequence-valued property IRI in the OWL namespace."@en ;
    sh:xone ( [ a sh:NodeShape ;
                sh:hasValue () ] [ a sh:NodeShape ;
                sh:nodeKind sh:BlankNode ;
                sh:property [ a sh:PropertyShape ;
                        sh:path [ sh:oneOrMorePath rdf:rest ] ;
                        sh:xone ( [ a sh:NodeShape ;
                                    sh:hasValue () ] [ a sh:NodeShape ;
                                    sh:nodeKind sh:BlankNode ;
                                    sh:property [ a sh:PropertyShape ;
                                            sh:maxCount 1 ;
                                            sh:minCount 1 ;
                                            sh:path rdf:first ] ] ) ] ] ) .