LinkedResearchMetadata

Metadata extraction from the Pure Research Information System and transformation of the metadata into RDF.

Status

Gem Version Build Status Code Climate

Installation

Add this line to your application's Gemfile:

gem 'linked_research_metadata'

And then execute:

$ bundle

Or install it yourself as:

$ gem install linked_research_metadata

Usage

Configuration

Create a hash for passing to a transformer.

# Pure host with authentication.
config = {
  url:      ENV['PURE_URL'],
  username: ENV['PURE_USERNAME'],
  password: ENV['PURE_PASSWORD'],
  minting_uri: 'http://data.example.com',
  granularity: 1
}
# Pure host without authentication.
config = {
  url: ENV['PURE_URL'],
  minting_uri: 'http://data.example.com',
  granularity: 2
}

Parameters

minting_uri

Prefix for URIs minted e.g.

http://data.example.com/datasets/c11d50c1-ade2-493a-ab42-ca54ef233b78

UUIDs used are system identifiers wherever possible.

granularity

Control how much metadata is put into the graph for associated resources.

  • 0 - gives resource URI only. Omitting the parameter has the same effect.
  • 1 - gives resource URI plus type and title/name from the model metadata.
  • 2 - gives resource URI plus all the model metadata for a resource.

Transformation

Create a metadata transformer for a Pure dataset.

transformer = LinkedResearchMetadata::Transformer::Dataset.new config

Give it a Pure identifier...

graph = transformer.transform uuid: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'

...and get an RDF graph.

Some possible publishing strategies

Associated identifiers (UUIDs) are available after transformation in a hash of sets for :dataset, :organisation, :person, :project, and :publication. Organisation is only available if the granularity parameter is set to 2.

  • Transform a single resource, setting granularity to 0, 1 or 2.

  • Transform a single dataset resource, setting granularity to 0. Transform other resources using UUIDs from the identifiers hash later, setting granularity to 2.

  • Transform a single dataset resource, setting granularity to 0. Repeat, combining statements together from subsequent graphs and merging subsequent sets of identifiers. Transform other resources using UUIDs from the identifiers hash later, setting granularity to 2.

  • Transform a single dataset resource, setting granularity to 2. Repeat, combining statements from subsequent graphs into a larger graph.