- From: Jose Emilio Labra Gayo <jelabra@gmail.com>
- Date: Sat, 12 Jul 2014 00:04:12 +0200
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- Cc: kcoyle@kcoyle.net, "public-rdf-shapes@w3.org" <public-rdf-shapes@w3.org>
- Message-ID: <CAJadXXKiCdif9ayOfgCS+_=sRvTUsBbxjnd=1E_7byhy=PE-=A@mail.gmail.com>
On Fri, Jul 11, 2014 at 11:51 PM, Peter F. Patel-Schneider < 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. 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. 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/ >> > > peter > > -- Saludos, Labra
Received on Friday, 11 July 2014 22:04:59 UTC