<https://docs.linkeddatahub.com/reference/imports/#select-children>
        a       <https://w3id.org/atomgraph/linkeddatahub#Object>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                <https://w3id.org/atomgraph/linkeddatahub#ChildrenView> .

<https://docs.linkeddatahub.com/reference/imports/>
        a       <https://w3id.org/atomgraph/linkeddatahub/document-hierarchy#Container>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
                <https://docs.linkeddatahub.com/reference/imports/#content>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2>
                <https://docs.linkeddatahub.com/reference/imports/#select-children>;
        <http://purl.org/dc/terms/created>
                "2026-09-29T09:52:23.488Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
        <http://purl.org/dc/terms/creator>
                <https://admin.linkeddatahub.com/acl/agents/5ba81960-d511-4a3b-8b9a-cb5bb278dd95/#this>;
        <http://purl.org/dc/terms/description>
                "Types of data imports supported by LinkedDataHub";
        <http://purl.org/dc/terms/title>
                "Imports";
        <http://rdfs.org/sioc/ns#has_parent>
                <https://docs.linkeddatahub.com/reference/>;
        <http://www.w3.org/ns/auth/acl#owner>
                <https://admin.linkeddatahub.com/acl/agents/5ba81960-d511-4a3b-8b9a-cb5bb278dd95/#this> .

<https://docs.linkeddatahub.com/reference/imports/#content>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n    <p class=\"ldh-body-lg\">Types of data imports supported by LinkedDataHub</p>\n    <p>LinkedDataHub supports two types of data imports: <a href=\"csv/\">CSV imports</a>, which map tabular data to RDF, and <a href=\"rdf/\">RDF imports</a>, which load RDF data and optionally transform it. The <a href=\"#mapping-queries\">mapping query</a> rules below apply to both import types.</p>\n    <div>\n        <h2 id=\"mapping-queries\">Mapping queries</h2>\n        <p>Both import types use a user-defined SPARQL <code>CONSTRUCT</code> query to map the incoming data to the final RDF representation and to connect it to the documents in LinkedDataHub's <a href=\"../dataset/\" target=\"_blank\">dataset</a>. These are the rules that hold for mapping queries:</p>\n        <ul>\n            <li>The <code>BASE</code> value is automatically set to the imported file's URI. Do not add an explicit <code>BASE</code> to the query.</li>\n            <li>The <code>$base</code> binding is bound to the dataspace's base URI</li>\n            <li>use <code>OPTIONAL</code> for optional values (such as optional cell values in CSV)</li>\n            <li>use <code>BIND()</code> to introduce new values and/or cast literals to the appropriate result datatype or URI</li>\n            <li>when building document URIs, use natural IDs from the input data (or UUIDs if there are no IDs) and URI-encode them with <code>encode_for_uri</code></li>\n            <li>use a <code>GRAPH</code> block in the constructor template to construct triples for a specific document</li>\n            <li>construct <code>dh:Container</code> instances to create new container documents or <code>dh:Item</code> instances to create new item documents. <code>dct:title</code> values are mandatory for documents.</li>\n            <li>if you are constructing descriptions of non-information resources (a thing, a concept), assign them URIs with fragment identifiers (e.g. <samp>#this</samp>) and pair them with item documents using the <code>foaf:primaryTopic</code> property</li>\n        </ul>\n        <p>All of the rules in one skeleton, shaped like the Northwind category mapping:</p>\n        <pre>PREFIX dct:    &lt;http://purl.org/dc/terms/&gt;\nPREFIX foaf:   &lt;http://xmlns.com/foaf/0.1/&gt;\nPREFIX schema: &lt;https://schema.org/&gt;\n\nCONSTRUCT\n{\n    GRAPH ?graph                                   # one GRAPH block per constructed document\n    {\n        ?graph dct:title ?categoryName ;           # dct:title is mandatory for documents\n            foaf:primaryTopic ?category .\n\n        ?category a schema:ProductGroup ;          # the document's topic…\n            schema:name ?categoryName ;\n            schema:description ?description .\n    }\n}\nWHERE\n{\n    ?row &lt;#categoryID&gt; ?categoryID ;               # input values bind as &lt;#column&gt; predicates\n        &lt;#categoryName&gt; ?categoryName .            # (no explicit BASE — it is set to the file's URI)\n\n    OPTIONAL { ?row &lt;#description&gt; ?description }  # OPTIONAL for optional values\n\n    # $base is bound to the dataspace's base URI\n    BIND(uri(concat(str($base), \"categories/\")) AS ?container)\n    # URI-encode natural IDs when minting document URIs\n    BIND(uri(concat(str(?container), encode_for_uri(?categoryID), \"/\")) AS ?graph)\n    # …a non-information resource, as a fragment of its document\n    BIND(uri(concat(str(?graph), \"#this\")) AS ?category)\n}</pre>\n        <p class=\"exhibit-links\">The complete version: <a href=\"https://github.com/AtomGraph/LinkedDataHub-Apps/blob/master/demo/northwind-traders/categories/categories.rq\" target=\"_blank\">categories/categories.rq</a> in the Northwind Traders demo</p>\n    </div>\n    <div>\n        <h2 id=\"execution\">Import execution</h2>\n        <p>Imports run asynchronously in the background: the import item is created before the process completes. To check the status (completed or failed), refresh the import item. On successful completion, metadata such as the number of imported RDF triples is attached to the import.</p>\n        <p>The resulting RDF data is validated against <a href=\"../administration/ontologies/#constraints\">constraints</a> during the import. Constraint violations, if any, are attached to the import item.</p>\n    </div>\n</div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
