I have updated the implementation to check the person/spouse example. You can play with the example here: http://goo.gl/gJWCjJ Notice that I added two flags to the validator system: withIncoming (to support reverse arcs) and open shapes. By default, shexcala works with closed shapes...although I will probably change that to have open shapes by default... Best regards, Jose Labra On Sat, Jul 12, 2014 at 12:33 AM, Jose Emilio Labra Gayo <jelabra@gmail.com> wrote: > >>> 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. >> > > What it tells you is that if you select a node in the graph and you want > to check if it has the Shape of a Person, you can have a system (a Shape > Expression validator) that will check if it has the properties rdf:type > with value :Person and :spouse with a value that also has rdf:type :Person. > > I mean...the Shape Expression validator is just looking at the shape of > the RDF graph...that's why it is working in a more syntactic level than > RDFS, OWL, etc...and that's why I think both are complementary > technologies. > > Best regards, Jose Labra > >> > -- Saludos, LabraReceived on Friday, 11 July 2014 22:51:15 UTC
This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:02:39 UTC