@prefix altr-ext: <http://www.w3.org/ns/dx/connegp/altr-ext#> .
@prefix ex: <http://example.org/> .
@prefix ns2: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ns3: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ns4: <https://prez.dev/ont/> .
@prefix pid: <https://linked.data.gov.au/def/pid/> .
@prefix prez: <https://prez.dev/> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix schema: <https://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

ex:catalogues-listing a ns4:DynamicEndpoint,
        ns4:ListingEndpoint ;
    ns2:label "Catalogues Listing" ;
    prez:label "Catalogues Listing" ;
    ns4:apiPath "/catalogues" ;
    ns4:relevantShapes ex:top-level-catalogue-shape .

ex:catalogues-object a ns4:DynamicEndpoint,
        ns4:ObjectEndpoint ;
    ns2:label "Catalogue Object" ;
    prez:label "Catalogue Object" ;
    ns4:apiPath "/catalogues/{catalogId}" ;
    ns4:relevantShapes ex:top-level-catalogue-shape .

ex:child-catalogues-listing a ns4:DynamicEndpoint,
        ns4:ListingEndpoint ;
    ns2:label "Child Catalogues Listing" ;
    prez:label "Child Catalogues Listing" ;
    ns4:apiPath "/catalogues/{catalogId}/catalogues" ;
    ns4:relevantShapes ex:child-catalogue-shape .

ex:child-catalogues-object a ns4:DynamicEndpoint,
        ns4:ObjectEndpoint ;
    ns2:label "Child Catalogue Object" ;
    prez:label "Child Catalogue Object" ;
    ns4:apiPath "/catalogues/{catalogId}/catalogues/{childCatalogId}" ;
    ns4:relevantShapes ex:child-catalogue-shape .

ex:child-items-listing a ns4:DynamicEndpoint,
        ns4:ListingEndpoint ;
    ns2:label "Child Catalogue Items Listing" ;
    prez:label "Child Catalogue Items Listing" ;
    ns4:apiPath "/catalogues/{catalogId}/catalogues/{childCatalogId}/items" ;
    ns4:relevantShapes ex:child-item-shape,
        ex:model-item-shape .

ex:child-items-object a ns4:DynamicEndpoint,
        ns4:ObjectEndpoint ;
    ns2:label "Child Catalogue Item Object" ;
    prez:label "Child Catalogue Item Object" ;
    ns4:apiPath "/catalogues/{catalogId}/catalogues/{childCatalogId}/items/{itemId}" ;
    ns4:relevantShapes ex:child-item-shape,
        ex:model-item-shape .

<http://example.org/ns#AltProfilesForListing> a sh:NodeShape ;
    sh:property [ sh:path altr-ext:constrainsClass ] ;
    sh:targetClass prez:ListingProfile ;
    ns4:hierarchyLevel 1 .

<http://example.org/ns#AltProfilesForObject> a sh:NodeShape ;
    sh:property [ sh:path altr-ext:constrainsClass ] ;
    sh:targetClass prez:ObjectProfile ;
    ns4:hierarchyLevel 1 .

<http://example.org/ns#Object> a sh:NodeShape ;
    ns4:hierarchyLevel 1,
        3 .

<http://localhost:8000> prez:sparqlEndpointEnabled true ;
    prez:version "4.7.5" .

<http://www.opengis.net/ogcapi-features-1/1.0/feature> a ns4:OGCFeaturesEndpoint,
        ns4:ObjectEndpoint ;
    ns4:relevantShapes <http://example.org/ns#Feature> .

<http://www.opengis.net/ogcapi-features-1/1.0/feature-collection> a ns4:OGCFeaturesEndpoint,
        ns4:ObjectEndpoint ;
    ns4:relevantShapes <http://example.org/ns#FeatureCollections> .

<http://www.opengis.net/ogcapi-features-1/1.0/feature-collections> a ns4:ListingEndpoint,
        ns4:OGCFeaturesEndpoint ;
    ns4:relevantShapes <http://example.org/ns#FeatureCollections> .

<http://www.opengis.net/ogcapi-features-1/1.0/features> a ns4:ListingEndpoint,
        ns4:OGCFeaturesEndpoint ;
    ns4:relevantShapes <http://example.org/ns#Feature> .

<http://www.opengis.net/ogcapi-features-1/1.0/queryables-global> a ns4:ListingEndpoint,
        ns4:OGCFeaturesEndpoint ;
    ns4:relevantShapes <http://example.org/ns#QueryablesGlobal> .

<http://www.opengis.net/ogcapi-features-1/1.0/queryables-local> a ns4:ListingEndpoint,
        ns4:OGCFeaturesEndpoint ;
    ns4:relevantShapes <http://example.org/ns#QueryablesLocal> .

ns3:first prez:description "The first item in the subject RDF list." ;
    prez:label "first" .

ns3:rest prez:description "The rest of the subject RDF list after the first item." ;
    prez:label "rest" .

ns3:type prez:description "The subject is an instance of a class." ;
    prez:label "type" .

xsd:boolean prez:label "boolean" .

xsd:integer prez:label "integer" .

sh:class prez:description "The type that all value nodes must have."@en ;
    prez:label "class"@en .

sh:inversePath prez:description "The (single) value of this property represents an inverse path (object to subject)."@en ;
    prez:label "inverse path"@en .

sh:or prez:description "Specifies a list of shapes so that the value nodes must conform to at least one of the shapes."@en ;
    prez:label "or"@en .

sh:path prez:description "Specifies the property path of a property shape."@en ;
    prez:label "path"@en .

sh:property prez:description "Links a shape to its property shapes."@en ;
    prez:label "property"@en .

sh:targetClass prez:description "Links a shape to a class, indicating that all instances of the class must conform to the shape."@en ;
    prez:label "target class"@en .

prez:AnnotationPropertyList prez:descriptionList ( <http://www.w3.org/2004/02/skos/core#definition> <http://purl.org/dc/terms/description> schema:description ) ;
    prez:labelList ( <http://www.w3.org/2004/02/skos/core#prefLabel> <http://purl.org/dc/terms/title> ns2:label schema:name ) ;
    prez:otherList ( schema:color <http://purl.org/linked-data/registry#status> ) ;
    prez:provenanceList ( <http://purl.org/dc/terms/provenance> ) .

<https://prez.dev/endpoint/extended-ogc-records/cql-get> a ns4:ListingEndpoint ;
    ns4:relevantShapes <http://example.org/ns#CQL> .

<https://prez.dev/endpoint/extended-ogc-records/cql-post> a ns4:ListingEndpoint ;
    ns4:relevantShapes <http://example.org/ns#CQL> .

<https://prez.dev/endpoint/extended-ogc-records/narrowers> a ns4:ListingEndpoint ;
    ns4:relevantShapes <http://example.org/ns#Narrowers> .

<https://prez.dev/endpoint/extended-ogc-records/search> a ns4:ListingEndpoint ;
    ns4:relevantShapes <http://example.org/ns#Search> .

<https://prez.dev/endpoint/extended-ogc-records/top-concepts> a ns4:ListingEndpoint ;
    ns4:relevantShapes <http://example.org/ns#TopConcepts> .

<https://prez.dev/endpoint/system/object> a ns4:ObjectEndpoint,
        ns4:SystemEndpoint ;
    ns4:relevantShapes <http://example.org/ns#Profiles> .

<https://prez.dev/endpoint/system/profile-listing> a ns4:ListingEndpoint,
        ns4:SystemEndpoint ;
    ns4:relevantShapes <http://example.org/ns#Profiles> .

<https://prez.dev/endpoint/system/profile-object> a ns4:ObjectEndpoint,
        ns4:SystemEndpoint ;
    ns4:relevantShapes <http://example.org/ns#Profiles> .

<http://example.org/ns#Narrowers> a sh:NodeShape ;
    sh:targetClass <http://www.w3.org/2004/02/skos/core#Concept> ;
    ns4:hierarchyLevel 1 .

<http://example.org/ns#QueryablesGlobal> a sh:NodeShape ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#Feature> ;
    ns4:hierarchyLevel 3 .

<http://example.org/ns#QueryablesLocal> a sh:NodeShape ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#Feature> ;
    ns4:hierarchyLevel 4 .

<http://example.org/ns#Search> a sh:NodeShape ;
    sh:targetClass prez:SearchResult ;
    ns4:hierarchyLevel 1 .

<http://example.org/ns#TopConcepts> a sh:NodeShape ;
    sh:targetClass <http://www.w3.org/2004/02/skos/core#Concept> ;
    ns4:hierarchyLevel 1 .

<http://purl.org/dc/terms/description> prez:description "An account of the resource."@en,
        "Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource."@en ;
    prez:label "Description"@en .

<http://purl.org/dc/terms/provenance> prez:description "A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation."@en,
        "The statement may include a description of any changes successive custodians made to the resource."@en ;
    prez:label "Provenance"@en .

<http://purl.org/dc/terms/title> prez:description "A name given to the resource."@en ;
    prez:label "Title"@en .

<http://purl.org/linked-data/registry#status> prez:description "The status of this register entry"@en ;
    prez:label "status"@en .

ns3:Property prez:description "The class of RDF properties." ;
    prez:label "Property" .

ns2:Class prez:description "The class of classes." ;
    prez:label "Class" .

ns2:label prez:description "A human-readable name for the subject." ;
    prez:label "label" .

<http://www.w3.org/2002/07/owl#AnnotationProperty> prez:description "The class of annotation properties." ;
    prez:label "AnnotationProperty" .

<http://www.w3.org/2002/07/owl#Class> prez:description "The class of OWL classes." ;
    prez:label "Class" .

<http://www.w3.org/2002/07/owl#DatatypeProperty> prez:description "The class of data properties." ;
    prez:label "DatatypeProperty" .

<http://www.w3.org/2002/07/owl#ObjectProperty> prez:description "The class of object properties." ;
    prez:label "ObjectProperty" .

<http://www.w3.org/2004/02/skos/core#definition> prez:description "A statement or formal explanation of the meaning of a concept."@en ;
    prez:label "definition"@en .

<http://www.w3.org/2004/02/skos/core#prefLabel> prez:description "A resource has no more than one value of skos:prefLabel per language tag, and no more than one value of skos:prefLabel without language tag."@en,
        "The preferred lexical label for a resource, in a given language."@en,
        "The range of skos:prefLabel is the class of RDF plain literals."@en,
        """skos:prefLabel, skos:altLabel and skos:hiddenLabel are pairwise
      disjoint properties."""@en ;
    prez:label "preferred label"@en .

prof:Profile prez:description """A specification that constrains, extends, combines, or provides guidance or explanation about the usage of other specifications.

This definition includes what are often called "application profiles", "metadata application profiles", or "metadata profiles"."""@en ;
    prez:label "Profile" .

schema:color prez:description "The color of the product." ;
    prez:label "color" .

schema:description prez:description "A description of the item." ;
    prez:label "description" .

schema:name prez:description "The name of the item." ;
    prez:label "name" .

ex:child-catalogue-shape a sh:NodeShape ;
    sh:property [ sh:class schema:DataCatalog ;
            sh:path [ sh:inversePath schema:hasPart ] ] ;
    sh:targetClass <http://www.w3.org/2002/07/owl#Ontology>,
        sh:ShapesGraph,
        schema:DataCatalog,
        schema:Organization ;
    ns4:hierarchyLevel 2 .

ex:child-item-shape a sh:NodeShape ;
    sh:property [ sh:class schema:DataCatalog ;
            sh:path ( [ sh:inversePath schema:hasPart ] [ sh:inversePath schema:hasPart ] ) ],
        [ sh:class schema:DataCatalog ;
            sh:path [ sh:inversePath schema:hasPart ] ] ;
    sh:targetClass pid:PID,
        pid:Pid ;
    ns4:hierarchyLevel 3 .

ex:model-item-shape a sh:NodeShape ;
    sh:property [ sh:class <http://www.w3.org/2002/07/owl#Ontology> ;
            sh:path ns2:isDefinedBy ],
        [ sh:class schema:DataCatalog ;
            sh:path ( ns2:isDefinedBy [ sh:inversePath schema:hasPart ] ) ] ;
    sh:targetClass ns3:Property,
        ns2:Class,
        <http://www.w3.org/2002/07/owl#AnnotationProperty>,
        <http://www.w3.org/2002/07/owl#Class>,
        <http://www.w3.org/2002/07/owl#DatatypeProperty>,
        <http://www.w3.org/2002/07/owl#ObjectProperty> ;
    ns4:hierarchyLevel 3 .

<http://example.org/ns#CQL> a sh:NodeShape ;
    sh:targetClass prez:CQLFilterResult ;
    ns4:hierarchyLevel 1 .

<http://example.org/ns#Feature> a sh:NodeShape ;
    sh:property [ sh:class <http://www.opengis.net/ont/geosparql#FeatureCollection> ;
            sh:path [ sh:inversePath ns2:member ] ],
        [ sh:class <http://www.w3.org/ns/dcat#Dataset> ;
            sh:path ( [ sh:inversePath ns2:member ] <http://rdfs.org/ns/void#inDataset> ) ] ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#Feature> ;
    ns4:hierarchyLevel 4 .

<http://example.org/ns#FeatureCollections> a sh:NodeShape ;
    sh:property [ sh:class <http://www.w3.org/ns/dcat#Dataset> ;
            sh:path <http://rdfs.org/ns/void#inDataset> ] ;
    sh:targetClass <http://www.opengis.net/ont/geosparql#FeatureCollection> ;
    ns4:hierarchyLevel 3 .

ex:top-level-catalogue-shape a sh:NodeShape ;
    sh:property [ sh:or ( [ sh:class schema:DataCatalog ] [ sh:class schema:Organization ] [ sh:class <http://www.w3.org/2002/07/owl#Ontology> ] [ sh:class sh:ShapesGraph ] ) ;
            sh:path schema:hasPart ] ;
    sh:targetClass schema:DataCatalog ;
    ns4:hierarchyLevel 1 .

<http://rdfs.org/ns/void#inDataset> prez:description "Points to the void:Dataset that a document is a part of." ;
    prez:label "in dataset" .

<http://www.opengis.net/ont/geosparql#FeatureCollection> prez:description "The class Feature Collection represents any collection of individual Features."@en ;
    prez:label "Feature Collection"@en .

ns2:isDefinedBy prez:description "The defininition of the subject resource." ;
    prez:label "is defined by" .

ns2:member prez:description "A member of the subject resource." ;
    prez:label "member" .

<http://www.w3.org/2004/02/skos/core#Concept> prez:description "An idea or notion; a unit of thought."@en ;
    prez:label "Concept"@en .

<http://www.w3.org/ns/dcat#Dataset> prez:description "A collection of data, published or curated by a single source, and available for access or download in one or more represenations."@en,
        "A collection of data, published or curated by a single source, and available for access or download in one or more representations."@en ;
    prez:label "Dataset"@en .

altr-ext:constrainsClass prez:label "Constrains Class" .

schema:Organization prez:description "An organization such as a school, NGO, corporation, club, etc." ;
    prez:label "Organization" .

<http://example.org/ns#Profiles> a sh:NodeShape ;
    sh:targetClass prof:Profile ;
    ns4:hierarchyLevel 1 .

<http://www.opengis.net/ont/geosparql#Feature> prez:description "A discrete spatial phenomenon in a universe of discourse."@en ;
    prez:label "Feature"@en .

<http://www.w3.org/2002/07/owl#Ontology> prez:description "The class of ontologies." ;
    prez:label "Ontology" .

schema:hasPart prez:description "Indicates an item or CreativeWork that is part of this item, or CreativeWork (in some sense)." ;
    prez:label "has part" .

schema:DataCatalog prez:description "A collection of datasets." ;
    prez:label "Data catalog" .

() prez:description "The empty list, with no items in it. If the rest of a list is nil then the list has no more items in it." ;
    prez:label "nil" .

sh:NodeShape prez:description "A node shape is a shape that specifies constraint that need to be met with respect to focus nodes."@en ;
    prez:label "Node shape"@en .

