Triples in the Resource Index
The resource index stores system and user-controlled metadata about each object in the repository in the form of RDF triples. The number and type of triples stored depends on the content of the object. This document describes the triples that may exist in the resource index for a given object. The color of each row indicates how many of each kind of RDF triple can be expected. See the key on the right.
Cardinality Key |
Zero or more |
Zero or one |
Exactly one |
One or more |
Namespaces Used
For brevity, the URIs used in this document are shown in abbreviated form. To determine the unabbreviated form of any such URI, replace the Prefix with the associated Namespace URI below.
Breakdown
Base Triples
The following triples will exist for any object, irrespective of its Datastream content.
Subject |
Predicate |
Object |
Cardinality |
info:fedora/$PID |
fedora-model:createdDate |
(date created in UTC) |
Exactly One |
info:fedora/$PID |
fedora-view:lastModifiedDate |
(date modified in UTC) |
Exactly One |
info:fedora/$PID |
fedora-model:state |
fedora-model:Active
fedora-model:Inactive
fedora-model:Deleted |
Exactly One |
info:fedora/$PID |
fedora-model:owner |
(not used) |
Exactly One |
info:fedora/$PID |
fedora-model:label |
(any string) |
Exactly One |
Dublin Core Triples
Every object in Fedora has a Dublin Core ("DC") Datastream. The following triples are derived from its content, which may consist of any number of each of the 15 unqualified Dublin Core elements. If unprovided at ingest, the DC Datastream will be automatically created with minimal information (a dc:title and a dc:identifier).
Subject |
Predicate |
Object |
Cardinality |
info:fedora/$PID |
dc:title |
(any string) |
One or More |
info:fedora/$PID |
dc:identifier |
(any string) |
One or More |
info:fedora/$PID |
(any other dc predicate) |
(any string) |
Zero or More |
RELS-EXT and RELS-INT Triples
Subject |
Predicate |
Object |
Cardinality |
info:fedora/$PID |
(any non-reserved predicate) |
(any URI or literal) |
Zero or More |
Content Model Architecture Triples
Note: If not explicitly provided the Fedora Repository will assume there is a fedora-model:hasModel
relation asserted from a Data Object to a system-supplied base CModel Object satisfying the cardinality constraint. This relation should be explicitly stated in the REL-EXT Datastream as a recommended practice. Also note that, while CModel, SDef, and SDep objects may be created without asserting their respective relations, they will not perform their functions without them.
Note: In Fedora 3.0, though permitted, it is not recommended that one SDep object be used to deploy a service for more than one CModel-SDef pair. Future versions of Fedora are likely to provide better support for this configuration.
Subject |
Predicate |
Object |
Cardinality |
info:fedora/$PID |
fedora-model:hasModel |
info:fedora/$CMODEL_PID |
One or More |
info:fedora/$CMODEL_PID |
fedora-model:hasService |
info:fedora/$SDEF_PID |
Zero or More |
info:fedora/$SDEP_PID |
fedora-model:isDeploymentOf |
info:fedora/$SDEF_PID |
Zero or More |
info:fedora/$SDEP_PID |
fedora-model:isContractorOf |
info:fedora/$CMODEL_PID |
Zero or More |
Datastream Triples
Subject |
Predicate |
Object |
Cardinality |
info:fedora/$PID |
fedora-view:disseminates |
info:fedora/$PID/$DSID |
Exactly One |
info:fedora/$PID/$DSID |
fedora-view:disseminationType |
info:fedora/*/$DSID |
Exactly One |
info:fedora/$PID/$DSID |
fedora-view:mimeType |
(any mime type string) |
Exactly One |
info:fedora/$PID/$DSID |
fedora-view:lastModifiedDate |
(date modified in UTC) |
Exactly One |
info:fedora/$PID/$DSID |
fedora-model:state |
fedora-model:Active
fedora-model:Inactive
fedora-model:Deleted |
Exactly One |
info:fedora/$PID/$DSID |
fedora-view:isVolatile |
(true if R or E, false if M or X) |
Exactly One |
Calculating Triples/Object
You can use the following table to estimate the number of triples for each kind of object in your Fedora repository.
Calculation Method |
# Triples |
Every object automatically gets the following triples:
- Base: 6
- Dublin Core (dc:title and dc:identifier): 2
- Content Model Architecture (fedora-model:hasContentModel): 1
- Datastream Triples (for DC): 6
|
15 |
If the DC datastream has any elements besides the standard dc:title and dc:identifier, add 1 for each additional element. |
|
If the object has a RELS-EXT and/or a RELS-INT datastream, add 7, then add 1 for each statement asserted therein (except fedora-model:hasContentModel which has been counted above). |
|
For each additional datastream, add 7. |
|