Old Release

This documentation covers an old version of Fedora. Looking for another version? See all documentation.

The RdfPersistenceIndexer listens to the repository generated JMS events and persists metadata in a configurable RDF format to the file system. It implements the org.fcrepo.indexer.Indexer interface for the indexing functionalities, which consists of the methods to handle new/updated records and deleted records.

RDF is the native format supported by Fedora 4, and provides more information than the JCR/XML persistance. 

The RDF files are stored in the configured path in a directory tree that corresponds to the repository URI. So the the resource at http://localhost:8080/rest/foo would be stored in localhost/8080/rest/foo.rdf.

Configuration

The indexer is configured using Spring that can be done with Java bean setter methods.  The base filesystem storage path, RDF variant, and filename extension be configured.  Here is a sample configuration fragment showing how to configure and use the RdfPersistenceIndexer:

  <!-- jcr/xml persistence Indexer -->
  <bean id="rdfPersist" class="org.fcrepo.indexer.persistence.RdfPersistenceIndexer">
    <constructor-arg value="${fcrepo.rdf.storage:fcrepo4-rdf}" />
    <constructor-arg value="${fcrepo.rdf.lang:TURTLE}" />
    <constructor-arg value="${fcrepo.rdf.ext:.ttl}" />
  </bean>
 
  <!-- Message Driven POJO (MDP) that manages individual indexers -->
  <bean id="indexerGroup" class="org.fcrepo.indexer.IndexerGroup">
    <constructor-arg name="indexers">
      <set>
        ...
        <ref bean="rdfPersist"/>
        ...
      </set>
    </constructor-arg>
    ...
  </bean>

Valid values for fcrepo.rdf.lang (the RDF variant used) are:

  • "N3"
  • "N_TRIPLES" (N-Triples)
  • "RDF_XML" (RDF/XML flat syntax)
  • "RDF_XML_ABBREV" (RDF/XML abbreviated/nested syntax)
  • "TURTLE"
  • No labels