Triples in the Resource Index
Cardinality Key
| | Zero or more |
| | Zero or one |
| | Exactly one |
| | One or more |
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 and the indexing level of the resource index:
At level 0, no triples are indexed. At level 1, all triples except
method permutations are indexed. At level 2, all triples, including
those indicating permutations, are indexed.
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.
Breakdown
Base Triples
The following triples will exist for any object, irrespective of its datastream
and disseminator content.
| Subject | Predicate | Object |
| info:fedora/$PID | rdf:type | fedora-model:FedoraObject|BMechObject|BDefObject |
| info:fedora/$PID | fedora-model:createdDate | (date created in UTC) |
| info:fedora/$PID | fedora-view:lastModifiedDate | (date modified in UTC) |
| info:fedora/$PID | fedora-model:state | fedora-model:Active|Inactive|Deleted |
| info:fedora/$PID | fedora-model:owner | (not used) |
| info:fedora/$PID | fedora-model:label | (any string) |
| info:fedora/$PID | fedora-model:cModel | (any string) |
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 |
| info:fedora/$PID | dc:title | (any string) |
| info:fedora/$PID | dc:identifier | (any string) |
| info:fedora/$PID | (any other dc predicate) | (any string) |
RELS-EXT Triples
| Subject | Predicate | Object |
| info:fedora/$PID | (any non-reserved predicate) | (any uri or literal) |
Behavior Mechanism Triples
| Subject | Predicate | Object |
| info:fedora/$PID | fedora-model:usesBMech | info:fedora/$BMECH_PID |
Datastream Triples
| Subject | Predicate | Object |
| info:fedora/$PID | fedora-model:hasDatastream | info:fedora/$PID/$DSID |
| info:fedora/$PID | fedora-view:disseminates | info:fedora/$PID/$DSID |
| info:fedora/$PID/$DSID | fedora-view:disseminationType | info:fedora/*/$DSID |
| info:fedora/$PID/$DSID | fedora-view:mimeType | (any mime type string) |
| info:fedora/$PID/$DSID | fedora-view:lastModifiedDate | (date modified in UTC) |
| info:fedora/$PID/$DSID | fedora-model:state | fedora-model:Active|Inactive|Deleted |
| info:fedora/$PID/$DSID | fedora-view:isVolatile | (true if R or E, false if M or X) |
Per-Method Triples
| Subject | Predicate | Object |
| info:fedora/$PID | fedora-view:disseminates | info:fedora/$PID/$BDEF_PID/$METHOD |
| info:fedora/$PID/$BDEF_PID/$METHOD | fedora-view:disseminationType | info:fedora/*/$BDEF_PID/$METHOD |
| info:fedora/$PID/$BDEF_PID/$METHOD | fedora-view:mimeType | (any mime type string) |
| info:fedora/$PID/$BDEF_PID/$METHOD | fedora-view:lastModifiedDate | (date considered modified in UTC) |
| info:fedora/$PID/$BDEF_PID/$METHOD | fedora-model:state | fedora-model:Active|Inactive|Deleted |
| info:fedora/$PID/$BDEF_PID/$METHOD | fedora-view:isVolatile | (true if any dependencies are volatile, false otherwise) |
| info:fedora/$PID/$BDEF_PID/$METHOD | fedora-model:dependsOn | info:fedora/$PID/$DSID |
Per-Permutation Triples
| Subject | Predicate | Object |
| info:fedora/$PID/$BDEF_PID/$METHOD | fedora-view:disseminationType | info:fedora/*/$BDEF_PID/$METHOD?PARAM=VALUE1 |
Calculating Triples/Object
You can use the following table to estimate the number of triples
for each kind of object in your Fedora repository.
| # TRIPLES |
Every object automatically gets the following triples:
- Base: 6
- Dublin Core (dc:title and dc:identifier): 2
- Datastream Triples (for DC): 6
|
14 |
|
If the object has a content model (cModel) defined, add 1.
|
|
|
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 datastream, add 7, then add 1
for each statement asserted therein.
|
|
|
For each additional datastream, add 7.
|
|
For each disseminator:
- add 1
- For each method:
- add 6
- If permutations are enabled (RI indexing level 2):
- For each input datastream, add 1
- If the method takes parameters and all of them are mandatory
and have a defined set of possible values,
add 1 for each permutatation
|
|
| |