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.

semantic-triple-gray.png

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?

References

Triplestore on Wikipedia

Semantic triple on Wikipedia