All,
I hoped to be further along in creating test records for SHACL, but I
got stuck testing the tests (without which they can't be trusted). The
only implementation available is TopBraid, but I'm not managing to get
it working. (Clicking on 'help' just gives me a frowny face -- not much
help, to say the least.) If anyone has experience with TB and some time
I'd appreciate assistance.
As for tests, here is what I am concerned about:
1) There are two modes of operation for SHACL -- open shape and closed
shape (shape being a definition of a graph to be validated). The default
in SHACL is "open" which means that "extra" triples will not be noted or
treated as errors. "Closed" can be interpreted to mean: "these triples
and only these triples." I wanted to create tests that demonstrate how
these intereact with other validation rules -- mainly because I think
this will be useful for training.
2) I want to test the interaction of minimum and maximum with open and
closed, again because I think it may clarify how these work. Note that
there is a default of minCount=0 (no minimum; repeatable) and
maxCount=unlimited (no maximum). However, there is no way to express
maxCount=unlimited except to leave it off -- so it seems to me that some
examples will help here.
3) I've only thought about very very simple SHACL cases; even though I
don't know how to express more complex cases in SHACL, I think we should
come up with some somewhat complex cases that we can write up and hope
that someone can code them. The most complex I've done so far (with
help) is the classic FOAF: foafname or (foaf:forename AND foaf:lastname).
If you can send me a test case in words or pseudo-code, I'll reserve a
spot for it in our test suite. (I'll create a link to our test suite on
our wiki page.)
I hope in a future meeting to be able to show what SHACL looks like as
actual validation code, even the simpler examples. I think it'll be
easier for folks to react to real cases.
Thanks in advance,
kc
--
Karen Coyle
[log in to unmask] http://kcoyle.net
m: 1-510-435-8234
skype: kcoylenet/+1-510-984-3600
|