Extract and validate embedded RDF markup in HTML and other formats.
The Structured Data Linter digests structured data, in the form of HTML marked-up with RDFa, JSON-LD, or Microdata, or other RDF technologies supported in [Linked Data][linkeddata].
The linter is part of the structured-data.org, and runs at linter.structured-data.org
- Includes N-Triples support using RDF.rb.
- Includes RDF/XML support using the RDF::RDFXML gem.
- Includes Turtle and Notation3 support using the RDF::N3 gem.
- Includes RDFa support using the RDF::RDFa gem.
- Includes RDF/JSON support using the [RDF::JSON][] gem.
- Includes TriX support using the RDF::TriX gem.
- Includes Microdata support using the RDF::Microdata gem.
- Includes JSON-LD support using the JSON::LD gem.
Output is expressed as HTML+RDFa in a Snippet format.
To run locally, do a bundle install
to load required dependencies. Then run with foreman
or rackup
:
foreman start
or
rackup
To update the examples from schema.org, run rake schema:examples
. Warnings for these examples can be generated into {file:etc/schema-warnings.txt} by running rake schema:warnings
; remember to run bundle install
first.
This application is represented as a Sinatra application implemented in Ruby.
assets -- Assets for web application
config.ru -- [Rack][] configuration file, to start application
lib
rdf
linter
parser.rb -- Parse and transform input to RDFa.
rdfa_template.rb -- RDFa output templates in [Haml][]
snippets -- Snippet templates
views -- Templates for view generation in [Erubis][]
writer.rb -- Sub-class of [RDFa][] writer for generating snippet output.
linter.rb -- Controller defining HTTP endpoints
spec -- Tests
- Haml (>= 4.0.0)
- Erubis (>= 2.7)
- RDF.rb (>= 1.0)
- Linked Data (>= 1.0)
- Linked Data for Rack (>= 1.0)
- Linked Data for Sinatra (>= 1.0)
- Nokogiri (>= 1.5.9)
- RDF::JSON (>= 1.0)
- RDF::Microdata (>= 1.0)
- RDF::N3 (>= 1.0)
- RDF::RDFa (>= 1.0)
- RDF::RDFXML (>= 1.0)
- RDF::TriX (>= 1.0)
- JSON::LD (>= 1.0)
- Gregg Kellogg - https://greggkellogg.net/
- Stéphane Corlosquet
-
public/.htaccess
-
Bundle installed using:
bundle install --path vendor/bundler
-
Start the server with:
bundle exec shotgun -p 3000 config.ru
- https://groups.google.com/group/structured-data-dev
- https://github.com/structured-data/linter/issues
- 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.
This is free and unencumbered public domain software. For more information, see https://unlicense.org/ or the accompanying {file:UNLICENSE} file.