@prefix abis: <https://linked.data.gov.au/def/abis/> .
@prefix altr-ext: <http://www.w3.org/ns/dx/connegp/altr-ext#> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix ns1: <https://prez.dev/ont/> .
@prefix prez: <https://prez.dev/> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@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 skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

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

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

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

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

<http://www.opengis.net/ogcapi-features-1/1.0/feature> a ns1:OGCFeaturesEndpoint,
        ns1:ObjectEndpoint ;
    ns1:relevantShapes <https://prez/custom-endpoints/Feature> .

<http://www.opengis.net/ogcapi-features-1/1.0/feature-collection> a ns1:OGCFeaturesEndpoint,
        ns1:ObjectEndpoint ;
    ns1:relevantShapes <https://prez/custom-endpoints/FeatureCollections> .

<http://www.opengis.net/ogcapi-features-1/1.0/feature-collections> a ns1:ListingEndpoint,
        ns1:OGCFeaturesEndpoint ;
    ns1:relevantShapes <https://prez/custom-endpoints/FeatureCollections> .

<http://www.opengis.net/ogcapi-features-1/1.0/features> a ns1:ListingEndpoint,
        ns1:OGCFeaturesEndpoint ;
    ns1:relevantShapes <https://prez/custom-endpoints/Feature> .

<http://www.opengis.net/ogcapi-features-1/1.0/queryables-global> a ns1:ListingEndpoint,
        ns1:OGCFeaturesEndpoint ;
    ns1:relevantShapes <https://prez/custom-endpoints/QueryablesGlobal> .

<http://www.opengis.net/ogcapi-features-1/1.0/queryables-local> a ns1:ListingEndpoint,
        ns1:OGCFeaturesEndpoint ;
    ns1:relevantShapes <https://prez/custom-endpoints/QueryablesLocal> .

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

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

rdf: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:alternativePath prez:description "The (single) value of this property must be a list of path elements, representing the elements of alternative paths."@en ;
    prez:label "alternative path"@en .

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 ( skos:definition <http://purl.org/dc/terms/description> <https://schema.org/description> ) ;
    prez:labelList ( skos:prefLabel <http://purl.org/dc/terms/title> rdfs:label <https://schema.org/name> ) ;
    prez:otherList ( <https://schema.org/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 ns1:ListingEndpoint ;
    ns1:relevantShapes <http://example.org/ns#CQL> .

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

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

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

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

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

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

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

<https://prez/custom-endpoints/catalogs-listing> a ns1:DynamicEndpoint,
        ns1:ListingEndpoint ;
    rdfs:label "Catalogs Listing" ;
    prez:label "Catalogs Listing" ;
    ns1:apiPath "/catalogs" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL1> .

<https://prez/custom-endpoints/catalogs-object> a ns1:DynamicEndpoint,
        ns1:ObjectEndpoint ;
    rdfs:label "Catalogs Object" ;
    prez:label "Catalogs Object" ;
    ns1:apiPath "/catalogs/{catalogId}" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL1> .

<https://prez/custom-endpoints/catalogues-listing> a ns1:DynamicEndpoint,
        ns1:ListingEndpoint ;
    rdfs:label "Catalogues Listing" ;
    prez:label "Catalogues Listing" ;
    ns1:apiPath "/catalogues" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL1> .

<https://prez/custom-endpoints/catalogues-object> a ns1:DynamicEndpoint,
        ns1:ObjectEndpoint ;
    rdfs:label "Catalogues Object" ;
    prez:label "Catalogues Object" ;
    ns1:apiPath "/catalogues/{catalogueId}" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL1> .

<https://prez/custom-endpoints/collections-listing> a ns1:DynamicEndpoint,
        ns1:ListingEndpoint ;
    rdfs:label "Collections Listing" ;
    prez:label "Collections Listing" ;
    ns1:apiPath "/catalogs/{catalogId}/collections",
        "/catalogues/{catalogueId}/collections" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL2>,
        <https://prez/custom-endpoints/shape-R0-HL2-L> .

<https://prez/custom-endpoints/collections-object> a ns1:DynamicEndpoint,
        ns1:ObjectEndpoint ;
    rdfs:label "Collections Object" ;
    prez:label "Collections Object" ;
    ns1:apiPath "/catalogs/{catalogId}/collections/{recordsCollectionId}",
        "/catalogues/{catalogueId}/collections/{recordsCollectionId}" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL2>,
        <https://prez/custom-endpoints/shape-R0-HL2-O> .

<https://prez/custom-endpoints/items-listing> a ns1:DynamicEndpoint,
        ns1:ListingEndpoint ;
    rdfs:label "Items Listing" ;
    prez:label "Items Listing" ;
    ns1:apiPath "/catalogs/{catalogId}/collections/{recordsCollectionId}/items",
        "/catalogues/{catalogueId}/collections/{recordsCollectionId}/items" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL3>,
        <https://prez/custom-endpoints/shape-R0-HL3-1> .

<https://prez/custom-endpoints/items-object> a ns1:DynamicEndpoint,
        ns1:ObjectEndpoint ;
    rdfs:label "Items Object" ;
    prez:label "Items Object" ;
    ns1:apiPath "/catalogs/{catalogId}/collections/{recordsCollectionId}/items/{itemId}",
        "/catalogues/{catalogueId}/collections/{recordsCollectionId}/items/{itemId}" ;
    ns1:relevantShapes <https://prez/custom-endpoints/shape-R0-HL3>,
        <https://prez/custom-endpoints/shape-R0-HL3-1> .

<http://example.org/ns#Narrowers> a sh:NodeShape ;
    sh:targetClass skos:Concept ;
    ns1:hierarchyLevel 1 .

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

<http://example.org/ns#TopConcepts> a sh:NodeShape ;
    sh:targetClass skos:Concept ;
    ns1: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 .

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

skos:definition prez:description "A statement or formal explanation of the meaning of a concept."@en ;
    prez:label "definition"@en .

skos: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\r
      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.\r
\r
This definition includes what are often called "application profiles", "metadata application profiles", or "metadata profiles"."""@en ;
    prez:label "Profile" .

<https://prez/custom-endpoints/QueryablesGlobal> a sh:NodeShape ;
    sh:targetClass geo:Feature ;
    ns1:hierarchyLevel 3 .

<https://prez/custom-endpoints/QueryablesLocal> a sh:NodeShape ;
    sh:targetClass geo:Feature ;
    ns1:hierarchyLevel 4 .

<https://prez/custom-endpoints/shape-R0-HL2-L> a sh:NodeShape ;
    sh:property [ sh:or ( [ sh:class <http://www.w3.org/ns/dcat#Catalog> ] [ sh:class <https://schema.org/DataCatalog> ] ) ;
            sh:path [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/hasPart> ] <http://purl.org/dc/terms/isPartOf> [ sh:inversePath <https://schema.org/hasPart> ] <https://schema.org/isPartOf> ) ] ] ;
    sh:targetClass skos:Collection,
        skos:ConceptScheme,
        <http://www.w3.org/ns/dcat#Catalog>,
        <https://schema.org/DataCatalog>,
        <https://schema.org/Dataset>,
        <https://schema.org/Resource> ;
    ns1:hierarchyLevel 2 .

<https://prez/custom-endpoints/shape-R0-HL2-O> a sh:NodeShape ;
    sh:property [ sh:or ( [ sh:class <http://www.w3.org/ns/dcat#Catalog> ] [ sh:class <https://schema.org/DataCatalog> ] ) ;
            sh:path [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/hasPart> ] <http://purl.org/dc/terms/isPartOf> [ sh:inversePath <https://schema.org/hasPart> ] <https://schema.org/isPartOf> ) ] ] ;
    sh:targetClass skos:Collection,
        skos:ConceptScheme,
        <https://schema.org/Dataset>,
        <https://schema.org/Resource> ;
    ns1:hierarchyLevel 2 .

<https://schema.org/color> prez:description "The color of the product." ;
    prez:label "color" .

<https://schema.org/description> prez:description "A description of the item." ;
    prez:label "description" .

<https://schema.org/name> prez:description "The name of the item." ;
    prez:label "name" .

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

geo:FeatureCollection prez:description "The class Feature Collection represents any collection of individual Features."@en ;
    prez:label "Feature Collection"@en .

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

skos:inScheme prez:description "Relates a resource (for example a concept) to a concept scheme in which it is included."@en ;
    prez:label "is in scheme"@en .

skos:member prez:description "Relates a collection to one of its members."@en ;
    prez:label "has member"@en .

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

<https://prez/custom-endpoints/Feature> a sh:NodeShape ;
    sh:property [ sh:class geo:FeatureCollection ;
            sh:path [ sh:inversePath rdfs:member ] ],
        [ sh:class <https://schema.org/Dataset> ;
            sh:path ( [ sh:inversePath rdfs:member ] <https://schema.org/isPartOf> ) ] ;
    sh:targetClass geo:Feature ;
    ns1:hierarchyLevel 4 .

<https://prez/custom-endpoints/FeatureCollections> a sh:NodeShape ;
    sh:property [ sh:class <https://schema.org/Dataset> ;
            sh:path <https://schema.org/isPartOf> ] ;
    sh:targetClass geo:FeatureCollection ;
    ns1:hierarchyLevel 3 .

<https://prez/custom-endpoints/shape-R0-HL2> a sh:NodeShape ;
    sh:property [ sh:or ( [ sh:class <http://www.w3.org/ns/dcat#Catalog> ] [ sh:class <https://schema.org/DataCatalog> ] ) ;
            sh:path [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/hasPart> ] <http://purl.org/dc/terms/isPartOf> [ sh:inversePath <https://schema.org/hasPart> ] <https://schema.org/isPartOf> ) ] ] ;
    sh:targetClass <https://schema.org/Dataset> ;
    ns1:hierarchyLevel 2 .

<https://prez/custom-endpoints/shape-R0-HL3> a sh:NodeShape ;
    sh:property [ sh:class <https://schema.org/Dataset> ;
            sh:path <https://schema.org/isPartOf> ],
        [ sh:or ( [ sh:class <http://www.w3.org/ns/dcat#Catalog> ] [ sh:class <https://schema.org/DataCatalog> ] ) ;
            sh:path ( <https://schema.org/isPartOf> [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/hasPart> ] <http://purl.org/dc/terms/isPartOf> [ sh:inversePath <https://schema.org/hasPart> ] <https://schema.org/isPartOf> ) ] ) ],
        [ sh:or ( [ sh:class <http://www.w3.org/ns/dcat#Catalog> ] [ sh:class <https://schema.org/DataCatalog> ] ) ;
            sh:path ( skos:inScheme [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/hasPart> ] <http://purl.org/dc/terms/isPartOf> [ sh:inversePath <https://schema.org/hasPart> ] <https://schema.org/isPartOf> ) ] ) ],
        [ sh:class skos:ConceptScheme ;
            sh:path skos:inScheme ] ;
    sh:targetClass skos:Concept,
        abis:BiodiversityRecord ;
    ns1:hierarchyLevel 3 .

<https://prez/custom-endpoints/shape-R0-HL3-1> a sh:NodeShape ;
    sh:property [ sh:class skos:Collection ;
            sh:path [ sh:inversePath skos:member ] ],
        [ sh:or ( [ sh:class <http://www.w3.org/ns/dcat#Catalog> ] [ sh:class <https://schema.org/DataCatalog> ] ) ;
            sh:path ( [ sh:inversePath skos:member ] [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/hasPart> ] <http://purl.org/dc/terms/isPartOf> [ sh:inversePath <https://schema.org/hasPart> ] <https://schema.org/isPartOf> ) ] ) ] ;
    sh:targetClass skos:Concept ;
    ns1:hierarchyLevel 3 .

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

geo:Feature prez:description "A discrete spatial phenomenon in a universe of discourse."@en ;
    prez:label "Feature"@en .

skos:Collection prez:description "A meaningful collection of concepts."@en ;
    prez:label "Collection"@en .

skos:Concept prez:description "An idea or notion; a unit of thought."@en ;
    prez:label "Concept"@en .

skos:ConceptScheme prez:description "A set of concepts, optionally including statements about semantic relationships between those concepts."@en ;
    prez:label "Concept Scheme"@en .

<https://prez/custom-endpoints/shape-R0-HL1> a sh:NodeShape ;
    sh:property [ sh:class <https://schema.org/Dataset> ;
            sh:path [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/isPartOf> ] <http://purl.org/dc/terms/hasPart> [ sh:inversePath <https://schema.org/isPartOf> ] <https://schema.org/hasPart> ) ] ],
        [ sh:or ( [ sh:class <https://schema.org/DataCatalog> ] [ sh:class <http://www.w3.org/ns/dcat#Catalog> ] [ sh:class skos:Collection ] [ sh:class <https://schema.org/Dataset> ] [ sh:class <https://schema.org/Resource> ] [ sh:class skos:ConceptScheme ] ) ;
            sh:path [ sh:alternativePath ( [ sh:inversePath <http://purl.org/dc/terms/isPartOf> ] <http://purl.org/dc/terms/hasPart> [ sh:inversePath <https://schema.org/isPartOf> ] <https://schema.org/hasPart> ) ] ] ;
    sh:targetClass <http://www.w3.org/ns/dcat#Catalog>,
        <https://schema.org/DataCatalog> ;
    ns1:hierarchyLevel 1 .

<http://purl.org/dc/terms/hasPart> prez:description "A related resource that is included either physically or logically in the described resource."@en,
        "This property is intended to be used with non-literal values. This property is an inverse property of Is Part Of."@en ;
    prez:label "Has Part"@en .

<http://purl.org/dc/terms/isPartOf> prez:description "A related resource in which the described resource is physically or logically included."@en,
        "This property is intended to be used with non-literal values. This property is an inverse property of Has Part."@en ;
    prez:label "Is Part Of"@en .

<https://schema.org/Dataset> prez:description "A body of structured information describing some topic(s) of interest." ;
    prez:label "Dataset" .

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

<http://www.w3.org/ns/dcat#Catalog> prez:description "A curated collection of metadata about resources (e.g., datasets and data services in the context of a data catalog)."@en ;
    prez:label "Catalog"@en .

<https://schema.org/DataCatalog> prez:description "A collection of datasets." ;
    prez:label "Data catalog" .

<https://schema.org/isPartOf> prez:description "Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of." ;
    prez:label "is part of" .

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 .

() 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" .

