Metadata on edges without reification overhead.
In standard RDF, you can attach metadata to nodes easily:
:paper_42 :confidence 0.91 .
:paper_42 :hasEmbedding "0.23 -0.11 0.87 ..."^^loka:f32vec .
But attaching metadata to an edge (a relationship) requires reification — creating an intermediate node to represent the statement itself:
# Standard RDF reification: verbose and ugly
:stmt1 rdf:type rdf:Statement .
:stmt1 rdf:subject :paper_42 .
:stmt1 rdf:predicate :discusses .
:stmt1 rdf:object :TransformerArchitecture .
:stmt1 :confidence 0.91 .
That is 5 triples to say "paper_42 discusses TransformerArchitecture with confidence 0.91." The intermediate node :stmt1 has no meaning — it exists only to hold the metadata.
RDF-star lets you use a triple directly as the subject or object of another triple:
# RDF-star: clean and direct
<< :paper_42 :discusses :TransformerArchitecture >> :confidence 0.91 .
One triple. No intermediate node. The quoted triple << :paper_42 :discusses :TransformerArchitecture >> is the subject, and :confidence 0.91 is the predicate-object pair.
This is where RDF-star becomes critical for Loka. You can attach a vector embedding to a relationship, not just a node:
# Embedding on an edge
<< :paper_42 :discusses :TransformerArchitecture >>
:hasEmbedding "0.23 -0.11 0.87 ..."^^loka:f32vec .
# Now you can do vector search over relationships:
# "Find edges semantically similar to this one"
Without RDF-star, this would require reification (5 triples per annotated edge) and the vector index would have to point at artificial intermediate nodes instead of real relationships.
Loka assigns each quoted triple a deterministic u64 ID by hashing its three component IDs. This means: