Class: OpenBEL::Routes::Datasets

Inherits:
Base
  • Object
show all
Includes:
Helpers, Helpers::UUIDGenerator, Nanopub::FacetFilter, OpenBEL::Resource::Nanopub
Defined in:
app/openbel/api/routes/datasets.rb

Constant Summary collapse

DEFAULT_TYPE =
'application/hal+json'
ACCEPTED_TYPES =
{
  :bel  => 'application/bel',
  :xml  => 'application/xml',
  :xbel => 'application/xml',
  :json => 'application/json',
}
MONGO_BATCH =
500
FACET_THRESHOLD =
10000
DC =
::RDF::Vocab::DC
VOID =
::RDF::Vocab::VOID
FOAF =
::RDF::Vocab::FOAF

Constants included from Helpers

Helpers::DEFAULT_CONTENT_TYPE, Helpers::DEFAULT_CONTENT_TYPE_ID

Constants included from Nanopub::FacetFilter

Nanopub::FacetFilter::EMPTY, Nanopub::FacetFilter::NANOPUB_PARTS

Constants inherited from Base

Base::DEFAULT_CONTENT_TYPE, Base::DEFAULT_CONTENT_TYPE_ID, Base::RESOURCE_SERIALIZERS, Base::SCHEMA_BASE_URL, Base::SPOKEN_CONTENT_TYPES

Constants included from Schemas

Schemas::COMPILED_SCHEMAS, Schemas::SCHEMA_DIR, Schemas::SUFFIX

Constants included from OpenBEL::Resource::Namespaces

OpenBEL::Resource::Namespaces::VOCABULARY_RDF

Constants included from OpenBEL::Resource::Annotations

OpenBEL::Resource::Annotations::VOCABULARY_RDF

Instance Method Summary collapse

Methods included from Helpers

#incomplete_filters, #invalid_fts_filters, #parse_filters, #render_nanopub_collection, #validate_experiment_context, #validate_filters!, #validate_nanopub!, #validate_statement, #wants_default?

Methods included from Nanopub::FacetFilter

#make_filter, #map_citation_facets, #map_experiment_context_facets, #map_metadata_facets, #map_nanopub_facets

Methods included from Schemas

#validate

Constructor Details

#initialize(app) ⇒ Datasets

Returns a new instance of Datasets.



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'app/openbel/api/routes/datasets.rb', line 38

def initialize(app)
  super

  BEL.translator(:rdf)

  @bel_version = OpenBEL::Settings[:bel][:version]

  # nanopub API using Mongo.
  mongo = OpenBEL::Settings[:nanopub_store][:mongo]
  @api  = OpenBEL::Nanopub::Nanopub.new(mongo)

  # RdfRepository using Jena.
  @rr = BEL::RdfRepository.plugins[:jena].create_repository(
    :tdb_directory => OpenBEL::Settings[:resource_rdf][:jena][:tdb_directory]
  )

  # Annotations using RdfRepository
  annotations = BEL::Resource::Annotations.new(@rr)
  @annotation_transform = AnnotationTransform.new(annotations)
end