- From: Holger Knublauch <holger@topquadrant.com>
- Date: Thu, 12 Feb 2015 11:08:11 +1000
- To: public-rdf-shapes@w3.org
Off the top of my head it should be doable to introduce something like ex:MyShape a ldom:Shape ; ldom:precondition [ a ldom:PropertyConstraint ; ldom:predicate foaf:homepage ; ldom:minCount 1 ; ] ; ldom:property [ ldom:predicate foaf:mbox ; ldom:minCount 1 ; ldom:maxCount 1 ; ldom:valueType xsd:anyURI ; ] ; . that could serve as a filter/selector that must hold before the other constraints of the shape are evaluated. It would add another level of complexity and may lead to other side effects that I don't understand yet, so the current work-around would be to use SPARQL for such cases. I would encourage you to back this up with User Stories or Requirements to put it on the WG's radar. Certainly an interesting idea. (BTW you are using the public mailing list, not the -wg one). Holger On 2/12/2015 10:57, Peter F. Patel-Schneider wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > There has been a lot of discussion on just what selectors to allow. :-) > > > More seriously, both SPIN and OWL Constraints have a lot of flexibility in > selection. Your example is a good demonstration that flexible selection is > desirable. Maybe you should turn flexible selection into a requirement. > > > SPIN gets flexible selection via global constraints - if you can write a > SPARQL query that returns violations you have already implemented the > constraint in SPIN. Your example can be quite easily turned into a SPARQL > query so it can be handled by SPIN. > > OWL Constraints uses OWL axioms as constraints, interpreting them in the > Herbrand model of an RDF graph under the RDFS semantics, so you get whatever > flexibility OWL gives you. Your example can be quite easily turned into an > OWL Constraints constraint. > > The selection mechanisms in Resource Shape are quite different, as far as I > can tell. Maybe someone who understands Resource Shape can determine > whether it can handle your example. > > ShExC doesn't define any selection mechanism. It is concerned with the > determination of when a node in an RDF graph matches a shape. > > RDFUnit is roughly the combination of several of the above. > > > peter > > > On 02/11/2015 04:31 PM, Michel Dumontier wrote: >> Hi, I've been trying to follow the vast number of correspondence in this >> mailing list with minimal success, but I wanted to at least express how I >> see myself using shapes. I imagined that I would first select the data of >> interest, and secondly, check whether my constraints are violated. In >> the example below, I use my own syntax to select those instances of >> foaf:Person that have a homepage and check whether they have exactly 1 >> foaf:mbox asserted. >> >> :myShape :select [ rdf:type foaf:Person; foaf:homepage xsd:anyURI . ]; >> :constraint [ :property foaf:mbox; :value xsd:anyURI; :exactly 1 ] . >> >> to what degree have you discussed having such flexibility on the >> selector? >> >> m. >> >> >> Michel Dumontier Associate Professor of Medicine (Biomedical >> Informatics), Stanford University Chair, W3C Semantic Web for Health Care >> and the Life Sciences Interest Group http://dumontierlab.com > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1 > > iQEcBAEBAgAGBQJU2/qXAAoJECjN6+QThfjzQREH/RlcTJ6jqzspDAr32r/sbuv1 > v1Gln3/rzVPBYiJ/mDgDzs/xorvPAnnpHFSiD3ya/aU9xqn5Ax8lDRS4IUG3wrs5 > zN+KorwvThaFn+JxAUnp9gcva3C+0ijGcZkdrm5UQBSkbhFq3ja9vOpPsqXjY9II > TJ2gIhv0ugABvRYhtJpKJm+reaZpDmEL8/1/aAeFeB4oOZLeeHZGJA+ihppatjTO > bkG8XVdR3mmcS5KsXnHCGIZJe69FTPrWjXZdexax7Ro8Slz390+jT10g0mLADXzR > CTRYK/KwFGnl8oyJewdxE0niX8jDECp94FSGf8t+gEPLhawkTn+JAsIWg9ASmGI= > =19OT > -----END PGP SIGNATURE----- >
Received on Thursday, 12 February 2015 01:08:55 UTC