MD Store

From MPDLMediaWiki
Jump to: navigation, search
eSciDoc Solutions
Overview · Functionalities
Interfaces · Support
Overview · Functionalities
Scope · Support
Overview · Functionalities
Scope · Support
Digitization Lifecycle


The MDMetadata Store is a triple store for metadata storage and management. The MDMetadata Store manages resources which are items or containers in an eSciDocEnhanced Scientific Documentation Repository. The MDStore is designed to be used independently from eSciDocEnhanced Scientific Documentation Repository (in case such a need arises) or in relation with another, non-eSciDocEnhanced Scientific Documentation repository. The following scenarios are covered with the MDMetadata Store:


  • The triple store technology is planned to be Jena SDB (TDB doesn't support transactions)
    • note: current imeji demonstrator implements Jena TDB
  • be aware of Concurrency issues in Jena

Data model

This data model refers only to the MDStore internal data model. As the MDStore will be used in Faces, more information for Faces data model can be found here.

Draft visualization of how resources would be stored in the MDStore is given in the mage below:
Draft MDstore data model visualization

  • The MDMetadata Store defines 2 rdf graphs:
    • Metadata graphs, where metadata triples are stored
    • Property graphs with following properties:
      • context-id
      • public-status
      • lock-status
      • content-model-id
      • last-modification-date
      • created-by
      • modified-by
      • version-status
      • collection-id

Mapping to eSciDocEnhanced Scientific Documentation resources

  • Resource can be any eSciDocEnhanced Scientific Documentation resource of type Item or Container.
  • Metadata Record is the full content of a metadata record that is stored externally from eSciDocEnhanced Scientific Documentation Items and Containers. The eSciDocEnhanced Scientific Documentation items/containers would only reference the metadata record stored in the MDStore. For this purpose for each metadata record of an Item or a Container there is a special (RDFResource Description Framework/XMLExtensible Markup Language) metadata profile that links further to the metadata record stored in the MDStore.
    • Note: the names of the properties are same as in eSciDocEnhanced Scientific Documentation core. However, in case when eSciDocEnhanced Scientific Documentation Core is not used, these may be set-up by the external system
  • Searching from eSciDocEnhanced Scientific Documentation - the eSciDocEnhanced Scientific Documentation indexing component is extended with the possibility to fetch external XMLExtensible Markup Language content and index it


For now we assume that the MDMetadata Store will implement 3 interfaces:

  • MDStore Basic interface - to manage the resource updates and synchronize with metadata from the origin repository
  • MDStore search interface - SPARQLSPARQL Protocol And RDF Query Language endpoint
  • MDStore linked data publishing interface

During implementation this may possibly change, e.g. make linked data interface as a separate service. At present we see no need for it.

MDStore basic interface

The MDMetadata Store implements a RESTRepresentational State Transfer interface. The RESTRepresentational State Transfer interface methods are:

    • GET: retrieves the requested resource
    • POST: create a new resource
    • PUT: Updates a resource
    • DELETE: Deletes a resource

MDStore search interface

  • is the SPARQLSPARQL Protocol And RDF Query Language endpoint coming from Jena Joseki

MDStore linked data publishing interface

  • TBDTo Be Defined

URLUniform Resource Locator definition

Base URLUniform Resource Locator

  • Base URLUniform Resource Locator of the core-service instance is appended with the URLUniform Resource Locator of the new-service


  • Note: at present MDStore requires Java 1.6 which is not available at dev-coreservice-url

MDStore Basic Interface Methods URLUniform Resource Locator

  • For retrieval of the complete resource from the MDMetadata store (properties + all metadata record graphs)


  • For all metadata records graph (NOTE: there can be several metadata records managed in the MDMetadata Store for a resource)


  • For single metadata record graph



  • For properties graph




  • eSciDocEnhanced Scientific Documentation: The MDMetadata Store uses eSciDocEnhanced Scientific Documentation security management (AA)
    • It should be generic to enable other services to log in into MDstore


  • shall the interface methods understand the resource version-id?
  • three alternatives could be implemented:
    • content-stream
      • is indeed for binary content only (together with the item object, must be base-64 encoded, most probably not applicable)
    • md-record - good as in this case we could deal with items, containers ... even originally considered as cumbersome, may be good approach e.g.
      • create new MDMetadata-Profile (Externally-reference
    • externally-referenced component
  • the Model itself-> when things come from CoNEControl of Named Entities -> we treat them as CoNEControl of Named Entities resources or not?
    • MDStore would not contain any descriptive metadata from CoNEControl of Named Entities in addition, only a link to CoNEControl of Named Entities resource? (cleaner)
      • CoNEControl of Named Entities changes?
    • MDStpore would contain additional descriptive metadata of a CoNEControl of Named Entities Resource (provided by the end user) and a link to CoNEControl of Named Entities Resource?