<https://docs.linkeddatahub.com/user-guide/upload-file/>
        a       <https://w3id.org/atomgraph/linkeddatahub/document-hierarchy#Item>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
                <https://docs.linkeddatahub.com/user-guide/upload-file/#content>;
        <http://purl.org/dc/terms/created>
                "2026-10-25T17:35:06.984Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
        <http://purl.org/dc/terms/creator>
                <https://admin.linkeddatahub.com/acl/agents/01fe43e2-f80e-4312-b37e-86063a80e4f9/#this>;
        <http://purl.org/dc/terms/description>
                "Learn how to upload files to LinkedDataHub";
        <http://purl.org/dc/terms/modified>
                "2026-10-27T12:17:27.899Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
        <http://purl.org/dc/terms/title>
                "Upload file";
        <http://rdfs.org/sioc/ns#has_container>
                <https://docs.linkeddatahub.com/user-guide/>;
        <http://www.w3.org/ns/auth/acl#owner>
                <https://admin.linkeddatahub.com/acl/agents/01fe43e2-f80e-4312-b37e-86063a80e4f9/#this> .

<https://docs.linkeddatahub.com/user-guide/upload-file/#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\">Learn how to upload files to LinkedDataHub</p>\n    <div>\n        <h2 id=\"upload\">Upload a file</h2>\n        <div class=\"ac-tabs or-horizontal\">\n            <div class=\"ac-tablist sz-md va-line\" role=\"tablist\">\n                <button aria-controls=\"user-interface-pane\" aria-selected=\"true\" class=\"ac-tab is-on\" id=\"user-interface-tab\" role=\"tab\" type=\"button\"><span class=\"ac-tab-lbl\">User interface</span></button>\n                <button aria-controls=\"command-line-interface-pane\" aria-selected=\"false\" class=\"ac-tab\" id=\"command-line-interface-tab\" role=\"tab\" type=\"button\"><span class=\"ac-tab-lbl\">Command line interface</span></button>\n            </div>\n            <div aria-labelledby=\"user-interface-tab\" class=\"ac-tabpanel\" id=\"user-interface-pane\" role=\"tabpanel\">\n                    <div>\n                        <p>Any document you can write to takes files dropped from your desktop. What a drop does is decided per file:</p>\n                        <dl>\n                            <dt>RDF</dt>\n                            <dd>A file in one of the triple syntaxes — <code>.ttl</code>, <code>.nt</code>, <code>.rdf</code>, <code>.owl</code> or <code>.jsonld</code> — is <em>imported as data</em>: its triples are added to the document's graph</dd>\n                            <dt>File</dt>\n                            <dd>Anything else is <em>uploaded to the document</em>: the bytes are stored content-addressed under <code>uploads/</code> and the document describes them as a file, titled after the filename</dd>\n                        </dl>\n                        <ol>\n                            <li>Open the document that should hold the file</li>\n                            <li>Drag the file over the page. An overlay appears, naming both outcomes: <samp>RDF</samp> imported as data, <samp>File</samp> uploaded to this document</li>\n                            <li>Drop it. The document reloads in <samp>Read</samp> mode with the file among its resources; an image is shown inline</li>\n                        </ol>\n                        <video aria-label=\"Dropping a file onto a document\" controls=\"controls\" preload=\"metadata\" src=\"/uploads/798343ac386c0c67027a5fda6105547238d4b038\"></video>\n                        <p>A file larger than the instance's <a href=\"../../reference/configuration/#http\" target=\"_blank\">upload limit</a> is refused before it reaches the platform, and the page says so without navigating away.</p>\n                        <p>Alternatively, upload through a form:</p>\n                        <ol>\n                            <li>Click the <span class=\"ac-btn in-primary ap-solid sz-md\">Create <span aria-hidden=\"true\" class=\"msi caret\">expand_more</span></span> dropdown at the bottom of the page</li>\n                            <li>Click on <samp>File</samp> in the dropdown list that appears</li>\n                            <li>Fill out the mandatory <dfn>File</dfn> fields in the form:\n                                <dl>\n                                    <dt>Filename</dt>\n                                    <dd>Select file from your filesystem</dd>\n                                    <dt>Title</dt>\n                                    <dd>Enter file title</dd>\n                                </dl>\n                            </li>\n                            <li>Click <span class=\"ac-btn in-primary ap-solid sz-sm\">Save</span></li>\n                        </ol>\n                    </div>\n                </div>\n            <div aria-labelledby=\"command-line-interface-tab\" class=\"ac-tabpanel\" hidden=\"hidden\" id=\"command-line-interface-pane\" role=\"tabpanel\">\n                    <div>\n                        <p>A file is uploaded to the document that will hold it, so create that document first. Uploading Nancy Davolio's portrait from the Northwind demo:</p>\n                        <pre>doc=$(ldh create item \\\n  --title \"Nancy Davolio\" \\\n  --container \"${LDH_BASE}employees/\")\n\nldh add file \\\n  --title \"Nancy Davolio\" \\\n  --file employees/nancy.jpg \\\n  --content-type \"image/jpeg\" \\\n  \"$doc\"</pre>\n                        <p>The command prints the content-addressed URI of the upload as its only output:</p>\n                        <pre>https://localhost:4443/uploads/35fd362792e8c4bc3560a6de02f25ee551d68d02</pre>\n                        <p>That URI is stable across instances — it is derived from the file content alone — which is what lets the\n                            <a href=\"../../tutorial/media/\" target=\"_blank\">Northwind CSVs</a> reference their images by hash before they are even uploaded.\n                            <code>--content-type</code> is optional — the media type is detected from the file when it is not given.</p>\n                    </div>\n                </div>\n        </div>\n    </div>\n    <div class=\"ac-alert va-warning\" role=\"status\">\n        <span class=\"ac-alert-ic\"><span aria-hidden=\"true\" class=\"msi outline\">warning</span></span>\n        <div class=\"ac-alert-body\">\n            <span class=\"ac-alert-title\">Note about ontology files</span>\n            <p class=\"ac-alert-text\">If you upload an ontology file (RDF/OWL), be aware that it will not be automatically loaded via <code>owl:imports</code> declarations.\n            This is deliberate: resolving imports at upload time would risk circular dependencies during system initialization.</p>\n            <p class=\"ac-alert-text\">For more information on working with ontologies, see the <a href=\"../../reference/administration/ontologies/\">ontologies reference documentation</a>.</p>\n        </div>\n    </div>\n    <p class=\"ldh-body-lg\"><a href=\"../../reference/dataset/#hierarchical-uris\" target=\"_blank\">Read more about the content-addressed uploads namespace.</a></p>\n</div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
