Re: using Shape Expressions to validate RDF graphs

On 07/11/2014 03:04 PM, Jose Emilio Labra Gayo wrote:
> On Fri, Jul 11, 2014 at 11:51 PM, Peter F. Patel-Schneider
> <pfpschneider@gmail.com <mailto:pfpschneider@gmail.com>> wrote:
>
>
>
>     On 07/11/2014 02:32 PM, Karen Coyle wrote:
>
>
>
>         On 7/11/14, 12:56 PM, Peter F. Patel-Schneider wrote:
>
>             I'm still trying to figure out how shape expressions can constrain the
>             shape of RDF graphs.  Yes, they can constrain the shape of a RDF graph
>             flowing out of a single source, but that's only part of the problem.
>             Another part, and one that I think is much more important, is
>             constraining the "shape" of nodes that belong to a particular class.
>
>
>         Classes are orthogonal to shapes -- classes are semantic, shapes are
>         syntactic. The Description Set Profile [1], which was an XML schema
>         model for
>         creating shapes with RDF, tried to address that (and I think it's worth
>         looking at). That project was perhaps premature and never completed,
>         but I am
>         still convinced that the need to define the shape of our data exists.
>
>
>     Sure, but the first thing that I want to do is to check whether nodes that
>     have rdf:type links to :Person also have :spouse links and that spouse has
>     a type link to :Person.  If you don't like rdf:type links then use some
>     other link there, but the idea is still the same - I want to know whether
>     the nodes that I care about (nodes with type :person, nodes with a
>     :university) link, ...) have a particular "shape".  Of course, I *also*
>     want to have more complex conditions, like nodes that have an rdf:type
>     link to :Person in the RDFS closure of the graph, but something that can't
>     even do the first part of this don't seem very useful to me, except in
>     one-to-one situations and maybe not even then.
>
>
> But Shape Expressions are orthogonal to inference systems like OWL, RDFS,
> etc...you can have both in your system because they have a complementary goal.

Well constraints are different from inference systems, yes, and it would be 
nice to have both.  My desires above both fall on the constraint side.  The 
second desire above involves both inference and constraints, which is where 
the bit payoff is, I think, but also some of the difficulties.

> With regards to the spouse/person, I think what you want to describe can be
> done as:
>
> <PersonShape> { :a (:Person), :spouse @<SpouseShape>? }
> <SpouseShape> { :a (:Person), ^:spouse @<PersonShape> }
>
> The last declaration contains a reverse arc, which means that a SpouseShape is
> the object of an arc :spouse with shape PersonShape.

I still don't see how this tells me whether all the nodes that have an 
rdf:type link to :Person have all their spouses have rdf:type links to :Person.

> Reverse arcs are some of the discussion topics that have to be addressed. In
> Shexcala they are partially implemented...
>
>
>         And
>         shaping - as the DSP does - requires a big picture of your data. Much
>         validation looks at individual "bits" but there is also a need to
>         formulate
>         and test large, complex structures, in addition to individual
>         statements. If
>         this capability does not exist in ShEx then we need to add it.
>
>
>     Agreed.
>
>
> Also agreed...in my opinion there is a real need for some tool that can help
> to easily describe and validate large and complex RDF data stores...and I
> think RDF Data Shapes can help there while complementing all the other good
> technologies that have already been developed.
>
> Best regards, Jose labra
>
>
>
>         kc
>         [1] http://dublincore.org/__documents/dc-dsp/
>         <http://dublincore.org/documents/dc-dsp/>
>
>
>     peter
>
>
>
>
> --
> Saludos, Labra

Received on Friday, 11 July 2014 22:18:04 UTC