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][YARD-GS] 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][PDD] on record from you.
This is free and unencumbered public domain software. For more information, see https://unlicense.org/ or the accompanying {file:UNLICENSE} file.