SlideShare a Scribd company logo
1 of 23
Download to read offline
1 
myEquivalentsmyEquivalents 
aka, Serviceaka, Cross Reference Service 
Marco 2013Marco Brandizi, EBI, 14 Feb 2013 
(tree)(Image Source: http://stackoverflow.com/questions/13340232/pythagoras-tree-to-windy-tree)
2 
It's not rocket science... 
(html)(Image Source: http://www.chinapage.com/space/moon/orbiter.html)
3 
… yet... 
(Image Source: oh com'n! 2001, A Space Odissey)
4 
Rationale 
References: AE ENA 
References: BioSD ENA 
References: BioSD AE
5 
Rationale 
References: AE ENA 
References: BioSD AE 
References: BioSD ENA
6 
So, it's about equivalence relations
7 
Why a Centralised Service 
BioSDSamplesSAMEA597705 
AEExperimentsE-AFMX-11 
http://www.ebi.ac.uk/arrayexpress/experiments/E-AFMX-11 
AEDataE-AFMX-11 
http://www.ebi.ac.uk/arrayexpress/files/E-AFMX-11 
ENASequencesSRR034107 
Bundle 1Bundle 1 
Bundle 1Bundle 1 
http://dbpedia.org/resource/Barak_h_obama 
http://en.wikipedia.org/wiki/Barack_Obama 
http://www.freebase.com/view/en/barack_obama 
Bundle 2Bundle 2 
Bundle 2Bundle 2 
Managing equivalenceManaging equivalence 
classes compactclasses is more compactand efficientand more efficient 
Managing equivalenceManaging equivalence 
classes compactclasses is more compactand efficientand more efficient
8 
Why a Centralised Service 
their consumers only 
Simplifies management 
URI auto-creation 
Links updated independently on their consumers and once only 
Avoids redundancy 
implicit symmetry and transitivity in the bundles 
single-point storage and rendering vs one per repository 
More efficient 
A specialised service for this is potentially faster, e.g. sameas.org 
More features can be added to the basic service 
Multiple access formats and paradigms (e.g., XML, RDF, SPARQL) 
MIRIAM integration
9 
The Model 
BioSD/SamplesSAMEA597705 
AE/ExperimentsE-AFMX-11 
AE/DataE-AFMX-11 
ENA/SequencesSRR034107 
ServiceAccession 
Entity 
Entity Mapping 
BioSD 
ENA 
AE 
Service collectionsame accessions, implicit mapping 
Bundle 
(i.e., partition class) 
provides service 
provides 
service 
provides 
service 
Repositories 
Service Properties: 
Title, Description 
URI Pattern 
Repository Properties: 
Title, Description 
URL 
Managing Organization 
Logo URL
10 
API Examples (Java, Mapping) 
public interface EntityMappingManager { 
public void storeMappings ( String ... entityIds ); 
public void storeMappingBundle ( String ... entityIds ); 
public int deleteMappings ( String ... entityIds ); 
public int deleteEntities ( String ... entityIds ); 
public EntityMappingSearchResult getMappings ( 
Boolean wantRawResult, String ... entityIds ); 
public EntityMappingSearchResult getMappingsForTarget ( 
Boolean wantRawResult, String targetServiceName, String entityId ); 
public String getMappingsAs ( 
String outputFormat, Boolean wantRawResult, String ... entityIds ); 
public String getMappingsForTargetAs ( 
String outputFormat, Boolean wantRawResult, String targetServiceName, String entityId ); 
public void close (); 
} 
public interface EntityMappingManager { 
public void storeMappings ( String ... entityIds ); 
public void storeMappingBundle ( String ... entityIds ); 
public int deleteMappings ( String ... entityIds ); 
public int deleteEntities ( String ... entityIds ); 
public EntityMappingSearchResult getMappings ( 
Boolean wantRawResult, String ... entityIds ); 
public EntityMappingSearchResult getMappingsForTarget ( 
Boolean wantRawResult, String targetServiceName, String entityId ); 
public String getMappingsAs ( 
String outputFormat, Boolean wantRawResult, String ... entityIds ); 
public String getMappingsForTargetAs ( 
String outputFormat, Boolean wantRawResult, String targetServiceName, String entityId ); 
public void close (); 
} 
Multiple access means 
Programmatic API 
Line Commands 
REST Web Service 
Multiple data exchange formats 
Java and Java REST (Jersey used, client available) 
XML (The same that comes from REST, mapped via JAXB) 
JSON (future, maybe) 
RDF (future, more later) 
Queries via service+accession or URI (in future) 
Multiple access means 
Programmatic API 
Line Commands 
REST Web Service 
Multiple data exchange formats 
Java and Java REST (Jersey used, client available) 
XML (The same that comes from REST, mapped via JAXB) 
JSON (future, maybe) 
RDF (future, more later) 
Queries via service+accession or URI (in future)
11 
API Examples (Java)
12 
API Examples (Web Service)
13 
Component-based Architecture 
Components and their topology configured/instantiated via Spring 
Easy to build features like: 
Caching 
Logging 
Layered computations (e.g., add services in the same collection) 
Integration of 3-rd party systems (e.g., MIRIAM, more later) 
Components and their topology configured/instantiated via Spring 
Easy to build features like: 
Caching 
Logging 
Layered computations (e.g., add services in the same collection) 
Integration of 3-rd party systems (e.g., MIRIAM, more later)
14 
Related Work 
myEquivalents inspired to this 
Does pretty much what we do 
With a very similar internal model 
But for URIs only 
Code not available 
Only available as SAAS, no binary to deploy 
myEquivalents inspired to this 
Does pretty much what we do 
With a very similar internal model 
But for URIs only 
Code not available 
Only available as SAAS, no binary to deploy
15 
Related Work 
Pair model for URIs is a standard 
Equivalence-based model missing 
Dual identification mechanism missing 
Pair model for URIs is a standard 
Equivalence-based model missing 
Dual identification mechanism missing
16 
Future: RDF, SPARQL, Semantic Web 
Dereferenceable URIs, with RDF output 
Keeping support to the accession-based model too 
SPARQL, with support for both: 
?b a mye:Bundle; mye:has-entity ?e1, ?e2, e3 (equivalence class model). 
?entity1 owl:sameAs ?entity2 (mapping pair model) 
and for entity containers: 
_:e1 mye:provided-by [ _:s1 a mye:Service dc:title 'BioSD' ] 
adding reasoning over service types could come easilye.g. sample-service is-a biomaterial-service 
To be implemented with direct translation from Java objects to SPARQL (not just export), e.g., using ARQ in Jena 
Support for inference directly in the object model 
faster than a generic reasoner 
Support for SPARQL/UPDATE? 
Would allow for using an endpoint straight as back-end 
Support to keyword-based search, as in sameas.org 
Requires the addition of attributes (eg, title, description), nothing available at the 
Dereferenceable URIs, with RDF output 
Keeping support to the accession-based model too 
SPARQL, with support for both: 
?b a mye:Bundle; mye:has-entity ?e1, ?e2, e3 (equivalence class model). 
?entity1 owl:sameAs ?entity2 (mapping pair model) 
and for entity containers: 
_:e1 mye:provided-by [ _:s1 a mye:Service dc:title 'BioSD' ] 
adding reasoning over service types could come easilye.g. sample-service is-a biomaterial-service 
To be implemented with direct translation from Java objects to SPARQL (not just export), e.g., using ARQ in Jena 
Support for inference directly in the object model 
faster than a generic reasoner 
Support for SPARQL/UPDATE? 
Would allow for using an endpoint straight as back-end 
Support to keyword-based search, as in sameas.org 
Requires the addition of attributes (eg, title, description), nothing available at the
17 
Related Work 
It is to manage entities that share accessions 
e.g., PubMed and CiteXplore 
So, not enough for us 
But would be great to integrate! 
It is to manage entities that share accessions 
e.g., PubMed and CiteXplore 
So, not enough for us 
But would be great to integrate!
18 
Future: MIRAM and identifiers.org support 
Services & 
Entities 
Service Collection
19 
Future: MIRAM and identifiers.org support 
Service Collection 
Services 
Entity
20 
Combining MIRAM and myEquivalents 
Uniprot P62158 
MIR:001000234599080 
http://www.ebi.ac.uk/citexplore/ 
citationDetails.do? 
dataSource=MED&externalId=4599080 
http://www.ebi.ac.uk/citexplore/ 
citationDetails.do? 
dataSource=MED&externalId=4599080 
HubMed4599080 
http://www.ncbi.nlm.nih.gov/protein/P62158 
http://www.ncbi.nlm.nih.gov/protein/P62158 
Mappings Stored in 
myEquivalents 
Computed by 
MIRIAM 
Computed by 
MIRIAM 
Resources importedfrom MIRIAM
21 
Issues: Access Control (on-going) 
We assume: 
by just within the same most of data is publicly readable 
except private entities (maybe) 
Implies a very simple model, users can have the roles of 
reader, can only read public stuff 
the only thing got by anonymous (i.e., un-authenticated user) 
editor, can change all (mappings, service descriptions etc) 
Authentication details 
travel via SSL/HTTPS and via POST 
makes it unnecessary to have complex mechanisms based on shared We assume: 
updates are managed by just a few people, within the same organisation and collaborating team 
most of data is publicly readable 
except private entities (maybe) 
Implies a very simple model, users can have the roles of 
reader, can only read public stuff 
the only thing got by anonymous (i.e., un-authenticated user) 
editor, can change all (mappings, service descriptions etc) 
admin, can administrate users and permissions 
Though simple, it's a good base for managing provenance too 
Authentication details 
all requests contains user + hash(password) 
travel via SSL/HTTPS and via POST 
makes it unnecessary to have complex mechanisms based on shared secret (eg, OAuth)
22 
Issues: Versioning (future?) 
That's been ignored so far 
cause we're assuming one version ↔ one accession ↔ one URI 
and leaving versioning fun to the repositories 
Must be addressed later 
Possible scenario: 
Entities are identified by means of service + acc + version 
New version relations are added (has-version, is-prior-version, has-next- version) 
It is still one URI ↔ one entity at the level of a given version 
URI pattern contains an additional placeholder for the ver. 
It's up to the myEquivalents clients to either: 
omit the version (ie, last version is always assumed, even upon ver. increase) 
specify a given version (requires manual version update) 
Possibly: keep history of all versions 
That's been ignored so far 
cause we're assuming one version ↔ one accession ↔ one URI 
and leaving versioning fun to the repositories 
Must be addressed later 
Possible scenario: 
Entities are identified by means of service + acc + version 
New version relations are added (has-version, is-prior-version, has-next- version) 
It is still one URI ↔ one entity at the level of a given version 
URI pattern contains an additional placeholder for the ver. 
It's up to the myEquivalents clients to either: 
omit the version (ie, last version is always assumed, even upon ver. increase) 
specify a given version (requires manual version update) 
Possibly: keep history of all versions
23 
That's 
all! 
Thank 
You! 
Have a look at the code and the wiki (on-going work!): 
http://myequivalentshttp://github.com/EBIBioSamples/myequivalents

More Related Content

What's hot

IO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxingIO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxingGurpreet singh
 
2008.07.17 발표
2008.07.17 발표2008.07.17 발표
2008.07.17 발표Sunjoo Park
 
Database Programming Techniques
Database Programming TechniquesDatabase Programming Techniques
Database Programming TechniquesRaji Ghawi
 
XML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDBXML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDBMarco Gralike
 
Top 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answersTop 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answersw3asp dotnet
 
Entity Framework: Nakov @ BFU Hackhaton 2015
Entity Framework: Nakov @ BFU Hackhaton 2015Entity Framework: Nakov @ BFU Hackhaton 2015
Entity Framework: Nakov @ BFU Hackhaton 2015Svetlin Nakov
 
Cloudera Federal Forum 2014: Tracking Provenance in Hadoop Clusters
Cloudera Federal Forum 2014: Tracking Provenance in Hadoop ClustersCloudera Federal Forum 2014: Tracking Provenance in Hadoop Clusters
Cloudera Federal Forum 2014: Tracking Provenance in Hadoop ClustersCloudera, Inc.
 
Creating a Web of Data with Restlet
Creating a Web of Data with RestletCreating a Web of Data with Restlet
Creating a Web of Data with Restletguest7d0e11
 
Entity framework and how to use it
Entity framework and how to use itEntity framework and how to use it
Entity framework and how to use itnspyre_net
 
Building a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineBuilding a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineTrey Grainger
 
XML Technologies for RESTful Services Development
XML Technologies for RESTful Services DevelopmentXML Technologies for RESTful Services Development
XML Technologies for RESTful Services Developmentruyalarcon
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate FrameworkRaveendra R
 
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod LacoulShamod Lacoul
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
 

What's hot (19)

IO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxingIO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxing
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
 
2008.07.17 발표
2008.07.17 발표2008.07.17 발표
2008.07.17 발표
 
Database Programming Techniques
Database Programming TechniquesDatabase Programming Techniques
Database Programming Techniques
 
Hibernate using jpa
Hibernate using jpaHibernate using jpa
Hibernate using jpa
 
XML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDBXML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDB
 
REST dojo Comet
REST dojo CometREST dojo Comet
REST dojo Comet
 
Top 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answersTop 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answers
 
Entity Framework: Nakov @ BFU Hackhaton 2015
Entity Framework: Nakov @ BFU Hackhaton 2015Entity Framework: Nakov @ BFU Hackhaton 2015
Entity Framework: Nakov @ BFU Hackhaton 2015
 
Cloudera Federal Forum 2014: Tracking Provenance in Hadoop Clusters
Cloudera Federal Forum 2014: Tracking Provenance in Hadoop ClustersCloudera Federal Forum 2014: Tracking Provenance in Hadoop Clusters
Cloudera Federal Forum 2014: Tracking Provenance in Hadoop Clusters
 
PHP & mySQL Training in Bangalore at myTectra
PHP & mySQL Training in Bangalore at myTectraPHP & mySQL Training in Bangalore at myTectra
PHP & mySQL Training in Bangalore at myTectra
 
Creating a Web of Data with Restlet
Creating a Web of Data with RestletCreating a Web of Data with Restlet
Creating a Web of Data with Restlet
 
Entity framework and how to use it
Entity framework and how to use itEntity framework and how to use it
Entity framework and how to use it
 
Building a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engineBuilding a real time, solr-powered recommendation engine
Building a real time, solr-powered recommendation engine
 
XML Technologies for RESTful Services Development
XML Technologies for RESTful Services DevelopmentXML Technologies for RESTful Services Development
XML Technologies for RESTful Services Development
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
 
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
 
Hibernate in Action
Hibernate in ActionHibernate in Action
Hibernate in Action
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 

Similar to Centralized Service for Managing Equivalence Relations

The RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with OracleThe RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with OracleEmiliano Pecis
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic WebIvan Herman
 
Using Semantics to personalize medical research
Using Semantics to personalize medical researchUsing Semantics to personalize medical research
Using Semantics to personalize medical researchMark Wilkinson
 
Compass Framework
Compass FrameworkCompass Framework
Compass FrameworkLukas Vlcek
 
Deep dive into the native multi model database ArangoDB
Deep dive into the native multi model database ArangoDBDeep dive into the native multi model database ArangoDB
Deep dive into the native multi model database ArangoDBArangoDB Database
 
Hibernate Training Session1
Hibernate Training Session1Hibernate Training Session1
Hibernate Training Session1Asad Khan
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at OracleEmiliano Pecis
 
A Look into the Apache OODT Ecosystem
A Look into the Apache OODT EcosystemA Look into the Apache OODT Ecosystem
A Look into the Apache OODT EcosystemChris Mattmann
 
Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?Srinath Perera
 
Java Technology
Java TechnologyJava Technology
Java Technologyifnu bima
 
Eclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jerseyEclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jerseyEclipse Day India
 
Rest with java (jax rs) and jersey and swagger
Rest with java (jax rs) and jersey and swaggerRest with java (jax rs) and jersey and swagger
Rest with java (jax rs) and jersey and swaggerKumaraswamy M
 
SADI SWSIP '09 'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09 'cause you can't always GET what you want!Mark Wilkinson
 
2008 11 13 Hcls Call
2008 11 13 Hcls Call2008 11 13 Hcls Call
2008 11 13 Hcls CallJun Zhao
 
JSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian MotlikJSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian MotlikChristoph Pickl
 
Developing Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring toolsDeveloping Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring toolsSathish Chittibabu
 
Adding Meaning To Your Data
Adding Meaning To Your DataAdding Meaning To Your Data
Adding Meaning To Your DataDuncan Hull
 
Adcom2006 Full 6
Adcom2006 Full 6Adcom2006 Full 6
Adcom2006 Full 6umavanth
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
ASP.NET 3.5 SP1
ASP.NET 3.5 SP1ASP.NET 3.5 SP1
ASP.NET 3.5 SP1Dave Allen
 

Similar to Centralized Service for Managing Equivalence Relations (20)

The RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with OracleThe RESTful Soa Datagrid with Oracle
The RESTful Soa Datagrid with Oracle
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
Using Semantics to personalize medical research
Using Semantics to personalize medical researchUsing Semantics to personalize medical research
Using Semantics to personalize medical research
 
Compass Framework
Compass FrameworkCompass Framework
Compass Framework
 
Deep dive into the native multi model database ArangoDB
Deep dive into the native multi model database ArangoDBDeep dive into the native multi model database ArangoDB
Deep dive into the native multi model database ArangoDB
 
Hibernate Training Session1
Hibernate Training Session1Hibernate Training Session1
Hibernate Training Session1
 
Web Oriented Architecture at Oracle
Web Oriented Architecture at OracleWeb Oriented Architecture at Oracle
Web Oriented Architecture at Oracle
 
A Look into the Apache OODT Ecosystem
A Look into the Apache OODT EcosystemA Look into the Apache OODT Ecosystem
A Look into the Apache OODT Ecosystem
 
Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?
 
Java Technology
Java TechnologyJava Technology
Java Technology
 
Eclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jerseyEclipse Day India 2015 - Rest with Java (jax rs) and jersey
Eclipse Day India 2015 - Rest with Java (jax rs) and jersey
 
Rest with java (jax rs) and jersey and swagger
Rest with java (jax rs) and jersey and swaggerRest with java (jax rs) and jersey and swagger
Rest with java (jax rs) and jersey and swagger
 
SADI SWSIP '09 'cause you can't always GET what you want!
SADI SWSIP '09  'cause you can't always GET what you want!SADI SWSIP '09  'cause you can't always GET what you want!
SADI SWSIP '09 'cause you can't always GET what you want!
 
2008 11 13 Hcls Call
2008 11 13 Hcls Call2008 11 13 Hcls Call
2008 11 13 Hcls Call
 
JSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian MotlikJSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian Motlik
 
Developing Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring toolsDeveloping Agile Java Applications using Spring tools
Developing Agile Java Applications using Spring tools
 
Adding Meaning To Your Data
Adding Meaning To Your DataAdding Meaning To Your Data
Adding Meaning To Your Data
 
Adcom2006 Full 6
Adcom2006 Full 6Adcom2006 Full 6
Adcom2006 Full 6
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
ASP.NET 3.5 SP1
ASP.NET 3.5 SP1ASP.NET 3.5 SP1
ASP.NET 3.5 SP1
 

More from Rothamsted Research, UK

FAIR Agronomy, where are we? The KnetMiner Use Case
FAIR Agronomy, where are we? The KnetMiner Use CaseFAIR Agronomy, where are we? The KnetMiner Use Case
FAIR Agronomy, where are we? The KnetMiner Use CaseRothamsted Research, UK
 
Interoperable Data for KnetMiner and DFW Use Cases
Interoperable Data for KnetMiner and DFW Use CasesInteroperable Data for KnetMiner and DFW Use Cases
Interoperable Data for KnetMiner and DFW Use CasesRothamsted Research, UK
 
AgriSchemas: Sharing Agrifood data with Bioschemas
AgriSchemas: Sharing Agrifood data with BioschemasAgriSchemas: Sharing Agrifood data with Bioschemas
AgriSchemas: Sharing Agrifood data with BioschemasRothamsted Research, UK
 
Publishing and Consuming FAIR Data A Case in the Agri-Food Domain
Publishing and Consuming FAIR DataA Case in the Agri-Food DomainPublishing and Consuming FAIR DataA Case in the Agri-Food Domain
Publishing and Consuming FAIR Data A Case in the Agri-Food DomainRothamsted Research, UK
 
AgriFood Data, Models, Standards, Tools, Use Cases
AgriFood Data, Models, Standards, Tools, Use CasesAgriFood Data, Models, Standards, Tools, Use Cases
AgriFood Data, Models, Standards, Tools, Use CasesRothamsted Research, UK
 
Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...
Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...
Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...Rothamsted Research, UK
 
A Preliminary survey of RDF/Neo4j as backends for KnetMiner
A Preliminary survey of RDF/Neo4j as backends for KnetMinerA Preliminary survey of RDF/Neo4j as backends for KnetMiner
A Preliminary survey of RDF/Neo4j as backends for KnetMinerRothamsted Research, UK
 
Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...
Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...
Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...Rothamsted Research, UK
 
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...Rothamsted Research, UK
 
graph2tab, a library to convert experimental workflow graphs into tabular for...
graph2tab, a library to convert experimental workflow graphs into tabular for...graph2tab, a library to convert experimental workflow graphs into tabular for...
graph2tab, a library to convert experimental workflow graphs into tabular for...Rothamsted Research, UK
 

More from Rothamsted Research, UK (20)

FAIR Agronomy, where are we? The KnetMiner Use Case
FAIR Agronomy, where are we? The KnetMiner Use CaseFAIR Agronomy, where are we? The KnetMiner Use Case
FAIR Agronomy, where are we? The KnetMiner Use Case
 
Interoperable Data for KnetMiner and DFW Use Cases
Interoperable Data for KnetMiner and DFW Use CasesInteroperable Data for KnetMiner and DFW Use Cases
Interoperable Data for KnetMiner and DFW Use Cases
 
AgriSchemas: Sharing Agrifood data with Bioschemas
AgriSchemas: Sharing Agrifood data with BioschemasAgriSchemas: Sharing Agrifood data with Bioschemas
AgriSchemas: Sharing Agrifood data with Bioschemas
 
Publishing and Consuming FAIR Data A Case in the Agri-Food Domain
Publishing and Consuming FAIR DataA Case in the Agri-Food DomainPublishing and Consuming FAIR DataA Case in the Agri-Food Domain
Publishing and Consuming FAIR Data A Case in the Agri-Food Domain
 
Continuos Integration @Knetminer
Continuos Integration @KnetminerContinuos Integration @Knetminer
Continuos Integration @Knetminer
 
Better Data for a Better World
Better Data for a Better WorldBetter Data for a Better World
Better Data for a Better World
 
AgriSchemas Progress Report
AgriSchemas Progress ReportAgriSchemas Progress Report
AgriSchemas Progress Report
 
AgriFood Data, Models, Standards, Tools, Use Cases
AgriFood Data, Models, Standards, Tools, Use CasesAgriFood Data, Models, Standards, Tools, Use Cases
AgriFood Data, Models, Standards, Tools, Use Cases
 
Notes about SWAT4LS 2018
Notes about SWAT4LS 2018Notes about SWAT4LS 2018
Notes about SWAT4LS 2018
 
Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...
Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...
Getting the best of Linked Data and Property Graphs: rdf2neo and the KnetMine...
 
Knetminer Backend Training, Nov 2018
Knetminer Backend Training, Nov 2018Knetminer Backend Training, Nov 2018
Knetminer Backend Training, Nov 2018
 
A Preliminary survey of RDF/Neo4j as backends for KnetMiner
A Preliminary survey of RDF/Neo4j as backends for KnetMinerA Preliminary survey of RDF/Neo4j as backends for KnetMiner
A Preliminary survey of RDF/Neo4j as backends for KnetMiner
 
Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...
Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...
Towards FAIRer Biological Knowledge Networks 
Using a Hybrid Linked Data 
and...
 
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
Behind the Scenes of KnetMiner: Towards Standardised and Interoperable Knowle...
 
graph2tab, a library to convert experimental workflow graphs into tabular for...
graph2tab, a library to convert experimental workflow graphs into tabular for...graph2tab, a library to convert experimental workflow graphs into tabular for...
graph2tab, a library to convert experimental workflow graphs into tabular for...
 
Interoperable Open Data: Which Recipes?
Interoperable Open Data: Which Recipes?Interoperable Open Data: Which Recipes?
Interoperable Open Data: Which Recipes?
 
Linked Data with the EBI RDF Platform
Linked Data with the EBI RDF PlatformLinked Data with the EBI RDF Platform
Linked Data with the EBI RDF Platform
 
BioSD Linked Data: Lessons Learned
BioSD Linked Data: Lessons LearnedBioSD Linked Data: Lessons Learned
BioSD Linked Data: Lessons Learned
 
BioSD Tutorial 2014 Editition
BioSD Tutorial 2014 EdititionBioSD Tutorial 2014 Editition
BioSD Tutorial 2014 Editition
 
Dev 2014 LOD tutorial
Dev 2014 LOD tutorialDev 2014 LOD tutorial
Dev 2014 LOD tutorial
 

Recently uploaded

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 

Recently uploaded (20)

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 

Centralized Service for Managing Equivalence Relations

  • 1. 1 myEquivalentsmyEquivalents aka, Serviceaka, Cross Reference Service Marco 2013Marco Brandizi, EBI, 14 Feb 2013 (tree)(Image Source: http://stackoverflow.com/questions/13340232/pythagoras-tree-to-windy-tree)
  • 2. 2 It's not rocket science... (html)(Image Source: http://www.chinapage.com/space/moon/orbiter.html)
  • 3. 3 … yet... (Image Source: oh com'n! 2001, A Space Odissey)
  • 4. 4 Rationale References: AE ENA References: BioSD ENA References: BioSD AE
  • 5. 5 Rationale References: AE ENA References: BioSD AE References: BioSD ENA
  • 6. 6 So, it's about equivalence relations
  • 7. 7 Why a Centralised Service BioSDSamplesSAMEA597705 AEExperimentsE-AFMX-11 http://www.ebi.ac.uk/arrayexpress/experiments/E-AFMX-11 AEDataE-AFMX-11 http://www.ebi.ac.uk/arrayexpress/files/E-AFMX-11 ENASequencesSRR034107 Bundle 1Bundle 1 Bundle 1Bundle 1 http://dbpedia.org/resource/Barak_h_obama http://en.wikipedia.org/wiki/Barack_Obama http://www.freebase.com/view/en/barack_obama Bundle 2Bundle 2 Bundle 2Bundle 2 Managing equivalenceManaging equivalence classes compactclasses is more compactand efficientand more efficient Managing equivalenceManaging equivalence classes compactclasses is more compactand efficientand more efficient
  • 8. 8 Why a Centralised Service their consumers only Simplifies management URI auto-creation Links updated independently on their consumers and once only Avoids redundancy implicit symmetry and transitivity in the bundles single-point storage and rendering vs one per repository More efficient A specialised service for this is potentially faster, e.g. sameas.org More features can be added to the basic service Multiple access formats and paradigms (e.g., XML, RDF, SPARQL) MIRIAM integration
  • 9. 9 The Model BioSD/SamplesSAMEA597705 AE/ExperimentsE-AFMX-11 AE/DataE-AFMX-11 ENA/SequencesSRR034107 ServiceAccession Entity Entity Mapping BioSD ENA AE Service collectionsame accessions, implicit mapping Bundle (i.e., partition class) provides service provides service provides service Repositories Service Properties: Title, Description URI Pattern Repository Properties: Title, Description URL Managing Organization Logo URL
  • 10. 10 API Examples (Java, Mapping) public interface EntityMappingManager { public void storeMappings ( String ... entityIds ); public void storeMappingBundle ( String ... entityIds ); public int deleteMappings ( String ... entityIds ); public int deleteEntities ( String ... entityIds ); public EntityMappingSearchResult getMappings ( Boolean wantRawResult, String ... entityIds ); public EntityMappingSearchResult getMappingsForTarget ( Boolean wantRawResult, String targetServiceName, String entityId ); public String getMappingsAs ( String outputFormat, Boolean wantRawResult, String ... entityIds ); public String getMappingsForTargetAs ( String outputFormat, Boolean wantRawResult, String targetServiceName, String entityId ); public void close (); } public interface EntityMappingManager { public void storeMappings ( String ... entityIds ); public void storeMappingBundle ( String ... entityIds ); public int deleteMappings ( String ... entityIds ); public int deleteEntities ( String ... entityIds ); public EntityMappingSearchResult getMappings ( Boolean wantRawResult, String ... entityIds ); public EntityMappingSearchResult getMappingsForTarget ( Boolean wantRawResult, String targetServiceName, String entityId ); public String getMappingsAs ( String outputFormat, Boolean wantRawResult, String ... entityIds ); public String getMappingsForTargetAs ( String outputFormat, Boolean wantRawResult, String targetServiceName, String entityId ); public void close (); } Multiple access means Programmatic API Line Commands REST Web Service Multiple data exchange formats Java and Java REST (Jersey used, client available) XML (The same that comes from REST, mapped via JAXB) JSON (future, maybe) RDF (future, more later) Queries via service+accession or URI (in future) Multiple access means Programmatic API Line Commands REST Web Service Multiple data exchange formats Java and Java REST (Jersey used, client available) XML (The same that comes from REST, mapped via JAXB) JSON (future, maybe) RDF (future, more later) Queries via service+accession or URI (in future)
  • 11. 11 API Examples (Java)
  • 12. 12 API Examples (Web Service)
  • 13. 13 Component-based Architecture Components and their topology configured/instantiated via Spring Easy to build features like: Caching Logging Layered computations (e.g., add services in the same collection) Integration of 3-rd party systems (e.g., MIRIAM, more later) Components and their topology configured/instantiated via Spring Easy to build features like: Caching Logging Layered computations (e.g., add services in the same collection) Integration of 3-rd party systems (e.g., MIRIAM, more later)
  • 14. 14 Related Work myEquivalents inspired to this Does pretty much what we do With a very similar internal model But for URIs only Code not available Only available as SAAS, no binary to deploy myEquivalents inspired to this Does pretty much what we do With a very similar internal model But for URIs only Code not available Only available as SAAS, no binary to deploy
  • 15. 15 Related Work Pair model for URIs is a standard Equivalence-based model missing Dual identification mechanism missing Pair model for URIs is a standard Equivalence-based model missing Dual identification mechanism missing
  • 16. 16 Future: RDF, SPARQL, Semantic Web Dereferenceable URIs, with RDF output Keeping support to the accession-based model too SPARQL, with support for both: ?b a mye:Bundle; mye:has-entity ?e1, ?e2, e3 (equivalence class model). ?entity1 owl:sameAs ?entity2 (mapping pair model) and for entity containers: _:e1 mye:provided-by [ _:s1 a mye:Service dc:title 'BioSD' ] adding reasoning over service types could come easilye.g. sample-service is-a biomaterial-service To be implemented with direct translation from Java objects to SPARQL (not just export), e.g., using ARQ in Jena Support for inference directly in the object model faster than a generic reasoner Support for SPARQL/UPDATE? Would allow for using an endpoint straight as back-end Support to keyword-based search, as in sameas.org Requires the addition of attributes (eg, title, description), nothing available at the Dereferenceable URIs, with RDF output Keeping support to the accession-based model too SPARQL, with support for both: ?b a mye:Bundle; mye:has-entity ?e1, ?e2, e3 (equivalence class model). ?entity1 owl:sameAs ?entity2 (mapping pair model) and for entity containers: _:e1 mye:provided-by [ _:s1 a mye:Service dc:title 'BioSD' ] adding reasoning over service types could come easilye.g. sample-service is-a biomaterial-service To be implemented with direct translation from Java objects to SPARQL (not just export), e.g., using ARQ in Jena Support for inference directly in the object model faster than a generic reasoner Support for SPARQL/UPDATE? Would allow for using an endpoint straight as back-end Support to keyword-based search, as in sameas.org Requires the addition of attributes (eg, title, description), nothing available at the
  • 17. 17 Related Work It is to manage entities that share accessions e.g., PubMed and CiteXplore So, not enough for us But would be great to integrate! It is to manage entities that share accessions e.g., PubMed and CiteXplore So, not enough for us But would be great to integrate!
  • 18. 18 Future: MIRAM and identifiers.org support Services & Entities Service Collection
  • 19. 19 Future: MIRAM and identifiers.org support Service Collection Services Entity
  • 20. 20 Combining MIRAM and myEquivalents Uniprot P62158 MIR:001000234599080 http://www.ebi.ac.uk/citexplore/ citationDetails.do? dataSource=MED&externalId=4599080 http://www.ebi.ac.uk/citexplore/ citationDetails.do? dataSource=MED&externalId=4599080 HubMed4599080 http://www.ncbi.nlm.nih.gov/protein/P62158 http://www.ncbi.nlm.nih.gov/protein/P62158 Mappings Stored in myEquivalents Computed by MIRIAM Computed by MIRIAM Resources importedfrom MIRIAM
  • 21. 21 Issues: Access Control (on-going) We assume: by just within the same most of data is publicly readable except private entities (maybe) Implies a very simple model, users can have the roles of reader, can only read public stuff the only thing got by anonymous (i.e., un-authenticated user) editor, can change all (mappings, service descriptions etc) Authentication details travel via SSL/HTTPS and via POST makes it unnecessary to have complex mechanisms based on shared We assume: updates are managed by just a few people, within the same organisation and collaborating team most of data is publicly readable except private entities (maybe) Implies a very simple model, users can have the roles of reader, can only read public stuff the only thing got by anonymous (i.e., un-authenticated user) editor, can change all (mappings, service descriptions etc) admin, can administrate users and permissions Though simple, it's a good base for managing provenance too Authentication details all requests contains user + hash(password) travel via SSL/HTTPS and via POST makes it unnecessary to have complex mechanisms based on shared secret (eg, OAuth)
  • 22. 22 Issues: Versioning (future?) That's been ignored so far cause we're assuming one version ↔ one accession ↔ one URI and leaving versioning fun to the repositories Must be addressed later Possible scenario: Entities are identified by means of service + acc + version New version relations are added (has-version, is-prior-version, has-next- version) It is still one URI ↔ one entity at the level of a given version URI pattern contains an additional placeholder for the ver. It's up to the myEquivalents clients to either: omit the version (ie, last version is always assumed, even upon ver. increase) specify a given version (requires manual version update) Possibly: keep history of all versions That's been ignored so far cause we're assuming one version ↔ one accession ↔ one URI and leaving versioning fun to the repositories Must be addressed later Possible scenario: Entities are identified by means of service + acc + version New version relations are added (has-version, is-prior-version, has-next- version) It is still one URI ↔ one entity at the level of a given version URI pattern contains an additional placeholder for the ver. It's up to the myEquivalents clients to either: omit the version (ie, last version is always assumed, even upon ver. increase) specify a given version (requires manual version update) Possibly: keep history of all versions
  • 23. 23 That's all! Thank You! Have a look at the code and the wiki (on-going work!): http://myequivalentshttp://github.com/EBIBioSamples/myequivalents