Statements
Statement structure and required fields for FCP.
Statements are how entity relationships are described. You can think of them as three-part Fide ID anchored sentences that communicate meaning in a machine-readable, comparable way across systems.
Statement Entity Type
See Statement Entity Type for the Statement entity definition and identifier rules.
Subject
The entity that the statement is about.
Property
The relationship entity that gives the statement its meaning.
Requirements
- MUST use the Entity Type
DirectionalPropertyorSymmetricProperty. - MUST use the Reference Type
NetworkResource.
Restrictions
- MUST NOT use Reference Identifier
schema:identifier. The Fide ID already encodes the entity identifier. - MUST NOT use Reference Identifier
schema:sameAs. Useowl:sameAsfor strict entity equality statements.
Object
The entity related to the subject by the property.
Normalization
For SymmetricProperty statements, subjectFideId and objectFideId MUST be ordered canonically before constructing the statement reference by lexicographic comparison of their Fide ID strings.
Statement Restrictions
MUST NOT use a Statement with Property rdf:type or schema:additionalType with an Object type already directly encoded by the Subject Entity Type.
| Subject Entity Type | Object Type Already Encoded |
|---|---|
Statement | rdf:Statement |
Person | schema:Person |
Organization | org:Organization |
CreativeWork | schema:CreativeWork |
Event | schema:Event |
TextLiteral | rdf:Literal, xsd:string |
IntegerLiteral | rdf:Literal, xsd:integer |
DecimalLiteral | rdf:Literal, xsd:decimal |
BoolLiteral | rdf:Literal, xsd:boolean |
DateLiteral | rdf:Literal, xsd:date |
TimeLiteral | rdf:Literal, xsd:time |
DateTimeLiteral | rdf:Literal, xsd:dateTime |
DurationLiteral | rdf:Literal, xsd:duration |
URILiteral | rdf:Literal, xsd:anyURI |
JSONLiteral | rdf:Literal, rdf:JSON |
Statement Patterns
- Attributes - Describe properties of an entity.
- Links - Describes connections between entities.
- Actions - Describe an action taken by an actor.
Temporal Modeling
FCP supports two distinct ways to model time, and producers SHOULD choose the one that matches their semantic intent.
- Use time on an entity when time is part of the thing itself.
Examples: an
Event, anAction, or another temporally bounded entity with properties such asschema:startDateorschema:endDate. - Use time on a
Statementwhen time qualifies the applicability, validity, or truth interval of the claim. Examples:schema:validFromorschema:validThroughattached to astatementFideId.
Producers SHOULD NOT redundantly model the same temporal boundary on both the entity and the statement unless they intentionally need both layers and the distinction is clear.