OpenBEL / bel.rb

Process BEL (Biological Expression Language) with ruby.
Apache License 2.0
8 stars 6 forks source link

Move rdf functionality into separate gem #89

Open abargnesi opened 8 years ago

abargnesi commented 8 years ago

What?

bel.rb provides the following RDF functionality:

These features have been integrated within bel.rb with a soft dependency on other gems (e.g. rdf, addressable, uuid, rdf-turtle). Additionally the rdf-mongo is used as a soft dependency when enabling the Mongo RDF Repository plugin (e.g. BEL::RdfRepository::Plugins::Mongo).

To me this is is starting to feel unmanageable and hard to communicate to users.

Here I am suggesting that the RDF translator and Mongo RDF Repository be moved to separate gems. They will both declare hard dependencies on the gems they need.

Why?

abargnesi commented 8 years ago

@nbargnesi @wshayes thoughts on this?

nbargnesi commented 8 years ago

Seems like you're driving bel.rb towards a pluggable and extensible BEL Swiss Army Knife, so this make sense. It does make bel.rb inherently more elegant and maintainable. There's a cost in managing the other projects and the added dependencies and lifecycles. Even with the cost, I'm in favor of it.

I could see having a gem that just groups all translators together too, along with whatever other plugin categories might exist. E.g., bel-translators.

abargnesi commented 8 years ago

Great idea! :clap:

I'm in favor of grouping together commonly-used plugins.

Thanks for the feedback.

abargnesi commented 8 years ago

Punting this for now due to necessary bugfixing within BEL to RDF conversion (#65, #66, #69).