Semantic triples
Semantic or RDF triples describe two nodes (subject and object) and the relation between them (predicate). In the form subject → predicate → object
.
Layering these semantic triples on top of existing data, allow us to represent the knowledge or information in a machine-readable way, essentially creating the foundations for us to later query against.
We can also create loose relationships between different, arbitrary data models without having to encode this information directly in the data model.
An example: a model for an event stored as JSON-LD can be arbitrarily connected to an article stored as Markdown without the article or the event data needing to encode their relationships. One possible subject-predicate-object triplet could be event_1 → has → article_5
.
And if we wanted to extend the article with a media gallery, maybe stored on some public endpoint, we could say article_5 → displays → media_gallery_76
.
Thus making event_1
and media_gallery_76
related by proxy. We could then query for all galleries with a relation to an event by a given level of separation.
Triples have a consistent structure and can therefore be stored in purpose-built databases called Triplestores (‘purpose-built databases for the storage and retrieval of triples through semantic queries’).
If implemented in a user-friendly way, this could definitely have room in the future of editing. See Hypermedia document editing environment.
Imagine an editor where you can edit all sorts of documents, and in addition have an interactive graph where you can connect and define predicates between nodes?