RDF Triple

Go up to Terms and Definitions

Discussion

An RDF triple represents one statement in RDF. Each RDF triple contains a subject, predicate, and object.

The subject identifies the resource described by the statement. The predicate identifies the property or relationship. The object identifies the value, resource, or literal associated with the subject through the predicate.

The following simplified BNF shows the conceptual structure of an RDF triple. It does not replace the formal grammar of any RDF serialization.

RDFTriple ::= Subject Predicate Object "." Subject ::= IRI | BlankNode Predicate ::= IRI Object ::= IRI | BlankNode | Literal

The BNF does not constrain predicate naming style. RDF requires the predicate to identify a property or relationship. A predicate IRI represents relationships expressed in natural-language style as hasCounterparty, isCounterpartyOf, wasValidatedBy, reportsFact, dependsOn, or other governed relationship names.

RDF triples form RDF graphs. An RDF graph consists of a set of RDF triples. The graph structure emerges from shared subjects, predicates, and objects across triples.

An RDF triple provides a representation structure. The triple carries semantics when the subject, predicate, object, and associated vocabulary preserve traceability to defined domain meaning.

Definition

RDF statement composed of a subject, predicate, and object

Source

W3C RDF 1.1 Concepts and Abstract Syntax; specialized for use in the FX Demo Reference Architecture.

Note

An RDF triple does not by itself establish domain meaning. Governed identifiers, controlled vocabularies, ontologies, schemas, rules, and domain models provide the semantic commitments that give the triple its intended interpretation.

The predicate role is structural. The predicate name is vocabulary-governed.

Example

An RDF triple represents one statement using a subject, predicate, and object.

Plain-language statement	Subject	Predicate	Object
FX trade Trade-123 has counterparty LEI-5493001KJTIIGC8Y1R12	Trade-123	hasCounterparty	LEI-5493001KJTIIGC8Y1R12
Legal entity LEI-5493001KJTIIGC8Y1R12 is counterparty of FX trade Trade-123	LEI-5493001KJTIIGC8Y1R12	isCounterpartyOf	Trade-123
FX trade Trade-123 has currency pair EUR/USD	Trade-123	hasCurrencyPair	EUR/USD
FX trade Trade-123 has notional amount 1000000	Trade-123	hasNotionalAmount	1000000
FX trade Trade-123 has trade date 2026-07-07	Trade-123	hasTradeDate	2026-07-07
FX trade Trade-123 has settlement date 2026-07-09	Trade-123	hasSettlementDate	2026-07-09
FX trade Trade-123 has lifecycle state Confirmed	Trade-123	hasLifecycleState	Confirmed
FX trade Trade-123 was validated by Validator-Structural-01	Trade-123	wasValidatedBy	Validator-Structural-01
Validation result Validation-456 has result status Accepted	Validation-456	hasResultStatus	Accepted
Report Report-789 reports fact Fact-001	Report-789	reportsFact	Fact-001
Report fact Fact-001 has reporting jurisdiction EU	Fact-001	hasReportingJurisdiction	EU
Validation rule Rule-Settlement-Date-01 governs field settlementDate	Rule-Settlement-Date-01	governs	settlementDate

The same statements appear in Turtle-like notation as follows:

:Trade-123 :hasCounterparty :LEI-5493001KJTIIGC8Y1R12 . :LEI-5493001KJTIIGC8Y1R12 :isCounterpartyOf :Trade-123 . :Trade-123 :hasCurrencyPair "EUR/USD" . :Trade-123 :hasNotionalAmount "1000000"^^xsd:decimal . :Trade-123 :hasTradeDate "2026-07-07"^^xsd:date . :Trade-123 :hasSettlementDate "2026-07-09"^^xsd:date . :Trade-123 :hasLifecycleState :Confirmed . :Trade-123 :wasValidatedBy :Validator-Structural-01 . :Validation-456 :hasResultStatus :Accepted . :Report-789 :reportsFact :Fact-001 . :Fact-001 :hasReportingJurisdiction :EU . :Rule-Settlement-Date-01 :governs :settlementDate .

Each line is one RDF triple. The subject appears first, the predicate appears second, and the object appears third.

© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.