W3C home > Mailing lists > Public > public-schemaorg@w3.org > March 2016

Re: SHACL version of schema.org

From: Alexandre Bertails <bertails@apple.com>
Date: Wed, 23 Mar 2016 22:02:49 -0700
Cc: public-schemaorg@w3.org
Message-id: <BCECFD0E-E12D-4AAB-B906-5A44CA7BA265@apple.com>
To: Holger Knublauch <holger@topquadrant.com>
Hi Holger,

Yes, we are (very?) interested in using SHACL with Schema.org.

A few remarks:

* as you noted, automatically deriving the SHACL expressions from the ontology will not capture the most important things;
* I personally believe that attaching SHACL constraints to schema.org definitions will be the most useful addition to the standard for schema.org practitioners;
* I also believe that in practice, we need vendor-specific SHACL constraints even more than the generic ones e.g. Google Structured Data;
* SHACL obviously relies on RDF. It's not clear to me what it means for microdata, but I haven't paid much attention to that (and I'm not personally interested :-).


> On Mar 23, 2016, at 6:54 PM, Holger Knublauch <holger@topquadrant.com> wrote:
> SHACL [1] is an evolving specification created by a W3C working group. SHACL can be used to describe and constrain the content of RDF graphs. Since schema.org is a widely used vocabulary with an RDF-friendly data model, I thought it would be a good exercise to convert schema.org to SHACL. A current snapshot of this conversion can be found at
>    http://datashapes.org/schema
> (in particular look at the Turtle file). This is basically translating each schema.org class into rdfs:Classes that also carry "shape constraints" to declare and restrict relevant properties for those classes. The current "official" schema.org data model doesn't contain much constraint-related info, so all we have right now is value type restrictions.
> SHACL can express much more than currently encoded in machine-readable form. Some examples are listed here:
>    https://www.w3.org/TR/shacl-ucr/#uc23-schema.org-constraints
> Another advantage of SHACL over the current way of describing the vocabulary is that SHACL property declarations are local for each class, i.e. it is possible to define different restrictions, labels or descriptions for properties that are shared between classes, or to specialize properties in subclasses. SHACL is very expressive and can even fall back to SPARQL or languages like JavaScript to express complex conditions. Basically it allows users to validate incoming data to improve data quality and spot mistakes in existing schema.org pages. In addition to "global" constraints, it can also be used to define application-specific constraints.
> If there are any early adopters interested in SHACL and this work, I'd be more than happy to discuss.
> Thanks,
> Holger
> [1] https://www.w3.org/TR/shacl/
Received on Thursday, 24 March 2016 05:03:23 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:12:24 UTC