RDF::Microdata reader/writer
Microdata parser for RDF.rb.
DESCRIPTION
RDF::Microdata is a Microdata reader for Ruby using the RDF.rb library suite.
FEATURES
RDF::Microdata parses Microdata into statements or triples using the rules defined in Microdata RDF.
-
Microdata parser.
-
Uses Nokogiri for parsing HTML
Install with ‘gem install rdf-microdata’
Living implementation
Microdata to RDF transformation is undergoing active development. This implementation attempts to be up-to-date as of the time of release, and is being used in developing the Microdata RDF specification.
This implementation includes support for the proposed <code>@itemprop-reverse</code>[https://www.w3.org/wiki/WebSchemas/InverseProperties#Proposed_Action:New_attribute.40itemprop-reverse] attribute.
Microdata Registry
The parser uses a build-in version of the Microdata RDF registry.
Usage
Reading RDF data in the Microdata format
require 'rdf/microdata'
graph = RDF::Graph.load("etc/doap.html", format: :microdata)
Reading using content-negotation
require 'rdf/microdata'
graph = RDF::Graph.load("etc/doap.html", content_type: "text/html")
Note
This spec is based on the W3C HTML Data Task Force specification and does not support GRDDL-type triple generation, such as for html>head>title anchor tags.
If the RDFa
parser is available, RDF::Microdata::Format will not assert content type text/html
or file extension .html
, as this is also asserted by RDFa. Instead, the RDFa reader will invoke the microdata reader if an @itemscope
attribute is detected.
Dependencies
-
RDF.rb (~> 3.3)
-
RDF::RDFa (~> 3.3)
-
RDF::XSD (~> 3.3)
-
HTMLEntities (‘~> 4.3’)
-
Nokogiri (~> 1.15)
Documentation
Full documentation available on Rubydoc.info
Principle Classes
-
RDF::Microdata::Format Asserts :html format, text/html mime-type and .html file extension.
RDFa-based Reader
There is an experimental reader based on transforming Microdata to RDFa within the DOM. To invoke this, add the rdfa: true
option to the RDF::Microdata::Reader.new, or use RDF::Microdata::RdfaReader directly.
The reader exposes a #rdfa
method, which can be used to retrieve the transformed HTML+RDFa
Resources
Author
Contributing
-
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 the 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.
FEEDBACK
-
gregg@greggkellogg.net