+ All Categories
Home > Documents > An Introduction to Research...

An Introduction to Research...

Date post: 08-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
27
An Introduction to Research Objects Collaborations Workshop March 16th 2015, Oxford Matthew Gamble, University of Manchester researchobject.org
Transcript
Page 1: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

An Introduction to Research ObjectsCollaborations Workshop March 16th 2015, Oxford

Matthew Gamble, University of Manchester

researchobject.org

Page 2: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Why Research Objects?

Support the publication of more than just PDFs, making data, code, and other resources first class

citizens of scholarship

researchobject.org

Going Beyond the PDF.

Page 3: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

What are Research Objects?

researchobject.org

A common mechanism for publishing research artefacts in a consistent and useful way on the Web.

world wide web

Both conceptual model and technical implementations.

Page 4: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Research ArtefactsAs part of a research investigation you might for example have:

Slides hosted on slideshare, Code in a github repository, Data in figshare or community db, Preprint on arxiv.org etc.

researchobject.org

Page 5: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Collections

researchobject.org

Recognition that there is often a need to publish collections of these resources together as one

shareable, cite-able resource.

Page 6: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Research Objects

researchobject.org

Page 7: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Research Objects

researchobject.org

Page 8: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Research Objects

researchobject.org

?

Page 9: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Research Objects

researchobject.org

Enrich these resources and collections with any and all additional information and metadata required to

make research reusable, and reproducible!

Page 10: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

3 Principles

researchobject.org

Use unique identifiers as names for things.

Use some mechanism of aggregation to group things together.

Provide metadata about those things & how they relate to each other.

Page 11: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

3 Principles

researchobject.org

Use unique identifiers as names for things.

Use some mechanism of aggregation to group things together.

Provide metadata about those things & how they relate to each other.

Point of Extendability

Page 12: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

In Reality

researchobject.org

Research Object Manifest

What about resources that aren’t already on the web?

aggregates - List of ids/links to resources

annotations - List of annotations about resources

RO Metadata - id, title, creator, status etc.

Structured document that contains:

Page 13: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Manifest

researchobject.org

title: my research object id : www.example.org/myresearchobject

createdOn : 2013-03-05 17:29:03 createdBy : “A. Turing”

aggregates: http://researchobject.org/blog/1 www.myexperiment.org/workflow

annotations: “www.myexperiment.org/workflow shows that P!=NP”

Page 14: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Manifest

researchobject.org

title: my research object id : www.example.org/myresearchobject

createdOn : 2013-03-05 17:29:03 createdBy : “A. Turing”

aggregates: http://researchobject.org/blog/1 www.myexperiment.org/workflow

annotations: “www.myexperiment.org/workflow shows that P!=NP”

That’s it! A shareable resource that describes our investigation.

Page 15: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Manifest

researchobject.org

{ "@context": [ "https://w3id.org/bundle/context" ], "id": "/", "createdOn": "2013-03-05T17:29:03Z", "createdBy": { "uri": "http://example.com/foaf#alice", "orcid": "http://orcid.org/0000-0002-1825-0097", "name": “A. Turing" }, "aggregates": [{ "uri": “ http://researchobject.org/blog/1” }, { "uri": “http://www.myexperiment.org/workflow“ }], "annotations": [{ "uri": "urn:uuid:d67466b4-3aeb-4855-8203-90febe71abdf", "about": “http://www.myexperiment.org/workflow”, "content": “http://www.example.org/workflow-properties.ttl” }] }

actually … That’s it!

Page 16: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Specifications

researchobject.org

ro ontology - defines core concepts of research objects, identity, aggregation, and annotation, used in the manifest.

https://w3id.org/ro/

Page 17: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Files on my machine

Manifest - Web and Local

researchobject.org

title: my research object id : www.example.org/myresearchobject

createdOn : 2013-03-05 17:29:03 createdBy : http://orcid.org/0000-0002-1825-0097

aggregates: /data/mydata.dat http://researchobject.org/blog/1

www.myexperiment.org/myworkflow annotations: /annotations/description-of-mydata.dat.txt

/annotations/workflow-provenance.rdf /annotations/domain-specific-metadata.json

Page 18: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

researchobject.org

ro-bundle – A zip-based serialisation research objects.zipfile + manifest

Specifications

https://w3id.org/bundle/

“Backwards compatible” - Appears as just a Zip file!

Page 19: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

RO Bundle

Just the files, no metadata

title, description, license, comments, citations, tags, authors, categories, views, shares etc.

Page 20: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Tooling

researchobject.org

ro bundle API – A Java library that can be used to generate the zip-based ro bundle archives. Taverna  

ruby-ro-bundle – A Ruby library for working with Research Object bundles.

ro-manager – A command line tool for creating research objects.

ro-python – A python library for building Research Objects Manifests and Research Object bundles. (in progress)

rohub.org – A prototype web application for managing research objects.

Libraries

User tools

Page 21: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Tooling

researchobject.org

ro-manager – A git-like command line tool

>ro init “my research object” >ro add mydata.dat >ro add “www.myexperiment.org/myworkflow“ > >ro annotate domain-specific-metadata.json > >ro export #create the zip

Build research objects on the command line

Page 22: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Tooling

researchobject.org

ro-manager – A git-like command line tool

Build research objects on the command line

v1 - https://github.com/wf4ever/ro-manager (prototype)

v2 - https://github.com/gambl/ro-python To bring inline with spec (in-progress)

Page 23: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate
Page 24: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate
Page 25: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Tooling - CKAN plugin

researchobject.org

Coming Soon!

Plugin for open source CKAN data repository to:

- build - import - export

research objects.

CKAN data model a very good fit.

Page 26: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Links

researchobject.org

https://github.com/apache/incubator-taverna-language/tree/master/taverna-robundle

RO bundle API

ruby-ro-bundle

ro-manager - ro command-line v1

ro-python & ro command

https://github.com/myGrid/ruby-ro-bundle

https://github.com/gambl/ro-python/

https://github.com/wf4ever/ro-manager

Page 27: An Introduction to Research Objectssoftware.ac.uk/attach/CW15/Research-Objects-Matt-Gamble.pdfTooling researchobject.org ro bundle API – A Java library that can be used to generate

Discussion

researchobject.org

What type of resources would you want to include in your research objects?

Would you use research objects primarily for publication, archiving, exchange, or some other purpose?

Can you envision any barriers the adoption of research objects - by yourself?, by your community? by publishers?

What additional information is required to make research data reusable? e.g. versioning, provenance, standards used etc. Is it domain specific or general?

Have you ever struggled to replicate someone else’s investigation or experiment? If so why?


Recommended