Linked Data for Ruby
This is a meta-distribution of RDF.rb including all currently available and usable parsing/serialization extensions, intended to make producing and consuming Linked Data with Ruby as quick & easy as possible.
Features
- Includes N-Triples and N-Quads support using RDF.rb.
- Includes JSON-LD support using the JSON::LD and JSON::LD::Preloaded gems.
- Includes RDFa support using the RDF::RDFa gem.
- Includes RDF/XML support using the RDF::RDFXML gem.
- Includes Microdata support using the RDF::Microdata gem.
- Includes Notation3 support using the RDF::N3 gem.
- Includes TriG support using the RDF::TriG gem.
- Includes TriX support using the RDF::TriX gem.
- Includes Turtle support using the RDF::Turtle gem.
- Includes CSVW support for tabular data using the RDF::Tabular gem.
- Includes YAML-LD support using the YAML_LD gem.
- Includes RDF Dataset Normalization support using the RDF::Normalize gem.
- Includes RDFS, schema.org and limited OWL reasoning using the RDF::Reasoner gem.
- Includes RDF/JSON support using the RDF::JSON gem.
- Includes SHACL support using the SHACL gem.
- Includes ShEx support using the ShEx gem.
- Includes LD Patch support using the LD::Patch gem.
- Includes Aggregate Repository support using RDF::AggregateRepo, which allows graphs and repositories to be aggregated from multiple sources.
- Includes SPARQL support using the SPARQL and SPARQL::Client gems
- Includes numerous compiled vocabularies using the RDF::Vocab gem.
- Includes support for all XSD datatypes using the RDF::XSD gem.
- Maintains release parity with RDF.rb.
The RDF::Raptor gem can be added to add support for high-performance readers and writers using Raptor
Examples
require 'linkeddata'
Documentation
Dependencies
Note, this distribution requires Nokogiri, which makes it not pure-ruby.
- Ruby (>= 3.0)
- RDF.rb ('~> 3.3')
- RDF::AggregateRepo ('~> 3.3')
- RDF::HamsterRepo ('~> 0.5')
- RDF::Isomorphic ('~> 3.3')
- RDF::JSON ('~> 3.3')
- RDF::Microdata ('~> 3.3')
- RDF::N3 ('~> 3.3')
- RDF::Normalize ('~> 0.7')
- [RDF::OrderedRepo][] ('~>3.3')
- RDF::RDFa ('~> 3.3')
- RDF::RDFXML ('~> 3.3')
- RDF::Reasoner ('~> 0.9')
- RDF::Tabular ('~> 3.3')
- RDF::TriG ('~> 3.3')
- RDF::TriX ('~> 3.3')
- RDF::Turtle ('~> 3.3')
- RDF::Vocab ('~> 3.3')
- RDF::XSD ('~> 3.3')
- JSON::LD ('~> 3.3')
- JSON::LD::Preloaded ('~> 3.3')
- LD::Patch ('~> 3.3')
- SHACL ('~> 0.4')
- ShEx ('~> 0.8')
- SPARQL ('~> 3.3')
- SPARQL::Client ('~> 3.3')
- Nokogiri ('~> 1.15')
- Equivalent-XML ('~> 0.6')
Installation
The recommended installation method is via RubyGems. To install the latest official release of the gem, do:
% [sudo] gem install linkeddata
Contributing
This repository uses Git Flow to mange development and release activity. All submissions must be on a feature branch based on the develop branch to ease staging and integration.
- Do your best to adhere to the existing coding conventions and idioms.
- Don't use hard tabs, and don't leave trailing whitespace on any line.
- Do document every method you add using YARD annotations. Read the tutorial or just look at the existing code for examples.
- Don't touch the
.gemspec
,VERSION
orAUTHORS
files. If you need to change them, do so on your private branch only. - Do feel free to add yourself to the
CREDITS
file and the corresponding list in theREADME
. Alphabetical order applies. - Do note that in order for us to merge any non-trivial changes (as a rule of thumb, additions larger than about 15 lines of code), we need an explicit public domain dedication on record from you, which you will be asked to agree to on the first commit to a repo within the organization. Note that the agreement applies to all repos in the Ruby RDF organization.
License
This is free and unencumbered public domain software. For more information, see http://unlicense.org/ or the accompanying {file:UNLICENSE} file.