Add PersonalNote ontology schema by EgorPPS · Pull Request #1100 · MetaState-Prototype-Project/prototype · GitHub
Skip to content

Add PersonalNote ontology schema - #1100

Open
EgorPPS wants to merge 1 commit into
mainfrom
add-personal-note-ontology
Open

EgorPPS wants to merge 1 commit into
mainfrom
add-personal-note-ontology

Conversation

@EgorPPS

@EgorPPS EgorPPS commented Aug 5, 2026 •

Copy link
Copy Markdown
Contributor

Adds PersonalNote — a note a person wrote for themselves.

Why a new schema rather than reuse

The registry currently has no type for this, and the two nearest candidates are both something else:

  • Note (18a83870-…) is platform documentation. Every record of it in the wild is an integration note or a marketplace listing ("Ontology: File", "Marketplace Listing"); it has no author and no creation time, its content is a URI pointing at a file, and its audience means "who is this documentation written for". A person's note does not belong there.
  • TaskNote is scoped to a task — it requires taskId.

Shape

Modelled on schema.org/NoteDigitalDocument, so the semantics are familiar outside W3DS, but the identity and time fields follow this registry's convention rather than schema.org's — id / createdAt / authorEName instead of dateCreated / author — because all 30 existing schemas name them that way and a reader here should not have to special-case one type. The mapping is stated in the schema description.

Deliberately domain-level and general: what a note is about goes in about / keywords, never into a narrower type. A note about paint and a note about a bike ride are the same kind of thing, and splitting them by subject is how vocabulary fragments.

Two fields worth calling out:

  • derivedRecords — references to records extracted from the note (a purchase read off a photographed letter, a product identified in it), each carrying confidence when it was inferred rather than read verbatim. The note stays authoritative for what was actually said: a derived reading can be wrong and redone, the original cannot.
  • capturedBy — the eName of the application that recorded it, so a reader can tell an app-assisted capture from a hand-typed one.

additionalProperties: true, following communityActivity and socialMediaPost.

Context

Written for Nootropic, where a person hands over a photo, a voice note or a document and expects the meaning to be findable years later. Their utterance is stored as a PersonalNote and anything structured we extract references it. It is published in our self-description at /.well-known/w3ds-platform.json with registered: false until this merges — the flag is checked against this registry at request time rather than maintained by hand.

Happy to rename fields or drop derivedRecords / capturedBy if you would rather keep the type minimal.

Summary by CodeRabbit

  • New Features
    • Added a standardized PersonalNote schema.
    • Personal notes now support content, authorship, creation time, attachments, discovery details, provenance, related records, and archive status.
    • Required fields ensure each note includes an identifier, text, creation timestamp, and author.

A person's own note — the general case that has been missing: the existing
Note ontology is platform documentation (no author, no creation time,
content is a file URI), and TaskNote is scoped to a task.

Modelled on schema.org/NoteDigitalDocument, with identity and time fields
following this registry's convention (id / createdAt / authorEName) rather
than schema.org's, so it reads like its neighbours here.
@EgorPPS
EgorPPS requested a review from coodos as a code owner August 5, 2026 07:29
@coderabbitai

coderabbitai Bot commented Aug 5, 2026 •

Copy link
Copy Markdown
Contributor

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant