Current Release

This documentation covers the current version of Fedora. Looking for another version? See all documentation.

Server managed triples (SMTs) are the portion of a Resource's triples which are generated and/or constrained by the server, and may in some cases be used by the implementation for inspection and identification of said Resources. They are related to LDP-server-managed triples. SMTS are often generated as a side effect of other actions such as creating a container or a binary, or adding a child resource. If these properties are modified by clients, the modifications will generally be ignored by the server.

Clients may request to omit server managed triples from RDF responses from the server using the below header as described in the Fedora API specification.

Prefer: return=representation; omit=""

Lenient Handling

Starting with Fedora 6.0.0 you can PUT RDF that contains SMTs as long as you include a handling=lenient Prefer header.

Prefer: handling=lenient

This causes the server to ignore any attempted changes to server managed types or predicates

Server Managed Predicates

The following predicates are considered to be server managed (see the list of namespace prefixes later in the document), meaning that direct modification of these properties by clients will be ignored:

  • ldp:contains
  • premis: hasMessageDigest
  • premis: hasFixity
  • All predicates in the fedora namespace
  • All predicates in the memento namespace

Additionally, clients may not specify a ldp:hasMemberRelation relationship on a Direct or Indirect Container with a server managed predicate as the object, as this would cause the inappropriate creation of server managed triples. Similarly, relationships generated by Direct/Indirect containers cannot be deleted by clients.

Server Managed Types

In addition to predicates, the following URIs are considered server managed when provided as the object of an rdf:type property:

  • <> rdf:type fedora:* (any type in the fedora namespace)
  • <> rdf:type memento:* (any type in the memento namespace)
  • <> rdf:type ldp:* (any type in the ldp namespace)

Relaxable Properties

A subset of SMTs can be modified by clients, but only when the server is put into "relaxed" mode. This concept is described in more detail in the article How to allow user-updates to certain server managed triples. The following properties fall into this category:

  • fedora:lastModified
  • fedora:lastModifiedBy
  • fedora:created
  • fedora:createdBy

Server Generated Properties

Some properties are generated by the server, but not managed thereafter. As such, they may be directly overridden by the clients after creation, including:

  • premis:hasSize
  • ebucore:hasMimeType
  • ebucore:filename
  • iana:describedby (an instance of this property is generated for binaries and cannot be removed, but clients may add additional instances of this property)

Server Managed Properties in Imported OCFL Objects

TODO: This section needs to filled in as the import functionality is developed

When Fedora imports existing OCFL objects, the imported objects may include RDF which would normally be server managed. Fedora should not modify the files of any imported objects until clients specifically modify the objects contents. As such, SMTs located in imported objects will need to be specially handled.

Namespaces Referenced in this Document

  • No labels