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

Re: SHACL version of schema.org

From: Gregg Kellogg <gregg@greggkellogg.net>
Date: Wed, 23 Mar 2016 23:06:43 -0700
Cc: Holger Knublauch <holger@topquadrant.com>, public-schemaorg@w3.org
Message-Id: <25D9BDBE-0ED0-4A45-AD3A-A39E120C73EF@greggkellogg.net>
To: Alexandre Bertails <bertails@apple.com>
> On Mar 23, 2016, at 10:02 PM, Alexandre Bertails <bertails@apple.com> wrote:
> 
> 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 :-).

Microdata, as used in schema.org, can be interpreted as RDF [1]. The Microdata, RDFa, and JSON-LD examples used in schema.org are all generally compatible, at least as evidenced by the Structured Data Linter.

Gregg

[1] https://www.w3.org/TR/microdata-rdf/

> Best,
> Alexandre
> 
>> 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 06:07:14 UTC

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