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 JSON-LD support using the JSON::LD and JSON::LD::Preloaded gems.
-
Includes RDF/XML support using the RDF::RDFXML gem.
-
Includes Microdata support using the RDF::Microdata gem.
-
Includes Turtle support using the RDF::Turtle gem.
-
Includes CSVW support for tabular data using the RDF::Tabular 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 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 unlicense.org/ or the accompanying UNLICENSE file.