Skip to content
This repository has been archived by the owner on Sep 24, 2019. It is now read-only.

Add resource API to access BEL SKOS vocabularies #73

Closed
abargnesi opened this issue Oct 1, 2015 · 1 comment
Closed

Add resource API to access BEL SKOS vocabularies #73

abargnesi opened this issue Oct 1, 2015 · 1 comment

Comments

@abargnesi
Copy link
Member

This task would be to allow access to query BEL SKOS vocabularies such as Hgnc Human Genes, Ncbi Taxonomy, and Uberon.

Motivation / Use Cases

  • Equivalence of namespace values, terms, statements, and evidence
    • Find all equivalences
    • Find target equivalence (i.e. in a specific concept scheme)
    • Normalization of identifiers (e.g. Hgnc Human Genes -> Entrez Gene, Mesh Processes -> Go Biological Process)
  • Orthologization of namespace values, parameters, terms, and evidence
  • With the inclusion of historical relations between SKOS concepts we could support
    • Upgrade namespace values, parameters, terms, and evidence
    • Validation

Approach

  • Access RDF store through ruby-rdf/rdf using the repository abstraction. Initially provide a SPARQL client implementation.
  • Implement resource API on the repository abstraction.
  • Investigate plugging in Apache Jena as a ruby-rdf repository for efficient, in process access. This has it's benefits in terms of performance, but suffers from a single JVM locked against a TDB store.
  • Create transform functions using the resource API to allow transformations of large collections of BEL evidence.
@abargnesi
Copy link
Member Author

Limiting the scope of this based on needs. The following will be implemented:

  • RDF Repository abstraction using RDF.rb. Implemented as plugins in bel.rb.
  • APIs that enumerates/resolve resources and values using an RDF Repository.

abargnesi pushed a commit that referenced this issue Nov 18, 2015
This commit introduces RDF Repository plugins to bel.rb. These expose
repositories provided by the RDF.rb (github.com/ruby-rdf) ecosystem.

A memory plugin is provided (directly uses RDF.rb's RDF::Repository)
that is initially empty. This is currently used in tests to test the
behavior of the Namespaces APIs.

A mongo plugin is provided (requires the rdf-mongo gem) that accesses
RDF stored in Mongo. This works reasonably well for basic graph
patterns like the BEL resources RDF model.

Added Namespaces object model to allow all namespaces and namespace
values to be enumerated and found directly. The APIs #each and #find are
provided as well as #equivalents and #orthologs for NamespaceValue.

Added unit test for behavior of BEL::Resource::Namespaces,
BEL::Resource::Namespace, and BEL::Resource::NamespaceValue.

refs #73
abargnesi pushed a commit that referenced this issue Nov 19, 2015
Only the API for Resource Search is made available in bel.rb.

The first implementation of this API is on Sqlite at the following
repository:

https://github.com/OpenBEL/bel.rb-search-sqlite

refs #73 #79
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant