GROM is a gem created by the Parliamentary Digital Service to take ntriple files representing graph data and deserialise them into ruby objects.
NOTE: This gem is in active development and is likely to change at short notice. It is not recommended that you use this in any production environment.
Contents
- Requirements
- Installation
- Usage
- Getting Started with Development
- Running the tests
- Contributing
- License
Requirements
GROM requires the following:
- Ruby - click here for the exact version
- Bundler
Installation
gem 'grom'
Usage
This gem's main function is taking an ntriple data stream and deserialising it into linked Grom::Node
objects.
file = File.read('people_members_current.nt')
data_stream = StringIO.new(file)
objects = Grom::Reader.new(data_stream).objects #=> [<#Grom::Node ...>, <#Grom::Node ...>, ...]
Note that ntriple data streams cannot contain a predicate named 'type', as this word is reserved for RDF types.
Getting Started with Development
To clone the repository and set up the dependencies, run the following:
git clone https://github.com/ukparliament/grom.git
cd grom
bundle install
Running the tests
We use RSpec as our testing framework and tests can be run using:
bundle exec rake
Contributing
If you wish to submit a bug fix or feature, you can create a pull request and it will be merged pending a code review.
- Fork the repository
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Ensure your changes are tested using Rspec
- Create a new Pull Request
License
grom is licensed under the MIT.
Logo design by Anna VĂ¡mos.