semanticdesk.top file-ingestion and access ontology
Canonical data model for the semanticdesk.top personal semantic data fabric: stable Artifacts, per-realm Manifestations, multi-hash similarity, and process-level AccessEvent / Context. See `src/core.yaml` for URI-minting conventions and the project README for the overall ingestion vision.
A single kernel-observed (or similar) access to a Manifestation.
Stable identity of a content payload, independent of any specific storage location or realm. An Artifact is identified primarily by its content hash; all paths it appears at are Manifestations. Media metadata (EXIF, ID3, etc.) is carried as mixin slots on the Artifact.
ID3 and related audio tag fields. Applied as a mixin on Artifact.
Inferred or calendar-bound context (rehearsal, travel, etc.) — time + optional geo.
Document metadata for PDF and office formats (Grobid, pdfminer, etc.). Minimal set; extended by dedicated extraction plugins.
Join record capturing which Manifestation was observed, which Artifact content was identified, and which ScanRun produced the record. One ExtractionEvent is created per Manifestation per ScanRun; the most recent is linked from the Artifact via `mostRecentExtraction`.
WGS84 decimal coordinates with optional GeoSPARQL WKT geometry.
A single content fingerprint or similarity vector produced by one algorithm over one scope of a file's bytestream. An Artifact may carry multiple Hash nodes (e.g. SHA-256 for exact identity, pHash for perceptual similarity, BLAKE3 for content-only comparison).
EXIF/XMP image metadata fields. Applied as a mixin on Artifact.
One occurrence of an Artifact at a specific path within a specific Realm. A single Artifact may have Manifestations on a local device, a NAS, and a cloud volume simultaneously.
OS-level mount point belonging to a Realm.
OS process that performed an access. `processExecutable` may point at an `Artifact` for the on-disk binary.
Logical access or deployment boundary that groups one or more mount points under a single administrative identity (e.g. a local workstation, a NAS, a Nextcloud instance).
A single invocation of the ingestion engine over a root set of paths. Carries timing, mode (oneshot / daemon-scheduled / daemon-signaled), and scope information.
The Artifact whose content was identified during this extraction.
Opaque or semi-typed hints (e.g. calendar UIDs, WiFi SSID) — refine in a later version.
Name of the plugin or extractor that produced this record (e.g. exif, id3).
When this extraction record was produced.
Raw GPS coordinate string as extracted from EXIF (companion to decimal lat/long slots).
Optional region descriptor for partial hashes (e.g. byte range or named section).
IRI of the resource (entities under sdtopent, schema terms under sdtop).
The Manifestation observed during this extraction.
Stable identifier for this Realm (UUID for local devices, hostname for Nextcloud, etc.).
The Manifestation (path + realm) the kernel event refers to.
GeoSPARQL WKT literal; typed geo:wktLiteral in RDF.
eBPF or audit rough classification of a process touching a file.
Content identity or similarity function used for a Hash node.
What part of a file a hash is computed over; enables multi-hash per Artifact.
e.g. pixel buffer without EXIF; PDF text/structure without embedded annotations.
e.g. representative region; requires hashRegion for disambiguation.
pHash/dHash style near-duplicate (non-cryptographic).
Logical sharing or deployment boundary; drives federation and backup rules.
How a ScanRun was produced (ingestion engine mode).