Re: Extent of SHACL?

Hi Danny,
One of the important components of SHACL is having a ‘testing’ type mechanism to validate data in a closed-world setting. This includes generation of reports of these ‘tests’ which can be helpful in all sorts of ways. As for whether the net catches any fish - yes, it does. But if you start making a very complicated net, the fish also become harder to come by.

I’m doing something completely different (wouldn’t be a PhD otherwise!) with SHACL [1] - which is trying to determine GDPR compliance by basically making sure all the data is present and in required models/shapes. The ability to persist reports from tests is an important aspect of this as it provides a standardised way to defining these shapes and their validation results.

F.A.Q.
Q: But OWL can already ‘validate’ this data by using @!%#%&
A: Yes, it perhaps can. But this is arbitrary (when sharing methods) and not standardised. Also, there’s the open-world assumption one must be careful about.
Q: ShEx?
A: Yes, ShEx also works like SHACL. See [2] and [3]
Q: From the article, "SHACL, on the other hand, works by using SPARQL to validate specific content that may already be saved to the triple store”
A: Okay, SHACL-SPARQL exists, but is an extension. SHACL-core provides a very much linked data way to define these shapes. You can use SPARQL if you want to, or even the JS extension. This is useful in cases where I have the query to retrieve the data but want to first ensure that all that data is present in my graph. Using the query (or adapting it) to validate the same data model results in a very practical solution. For knowledge graphs, this makes it easy to keep track of validation w.r.t to queries working over it.

[1] http://openscience.adaptcentre.ie/projects/CDMM/compliance/model.html
[2] T. Hartmann, B. Zapilko, J. Wackerow, and K. Eckert. Validating rdf data quality using constraints to direct the development of constraint languages. In 2016 IEEE Tenth International Conference on Semantic Computing (ICSC), pages 116–123, Feb 2016. doi: 10.1109/ICSC.2016.43.
[3] J. E. Labra Gayo, E. Prud’hommeaux, H. Solbrig, and I. Boneva. Validating and describing linked data portals using shapes. CoRR, abs/1701.08924, 2017. URL http://arxiv.org/abs/1701.08924.

On 15 Aug 2018, 09:51 +0100, Frans Knibbe <frans.knibbe@geodan.nl>, wrote:
> Hi Danny,
>
> If you want to get a feeling for SHACL's ability to throw a net over a graph, you could play around with the sample graph and sample shapes on the SHACL playground.
>
> Next to data validation, in my experience SHACL is also good for describing how a dataset is structured, which can be a good starting point for generating documentation and diagrams. SHACL is a better fit for closed world models, while OWL better fits the open world assumption. But I don't think that SHACL should be cast as an alternative to OWL, although there is some overlap between the specifications.
>
> Regards,
> Frans
>
>
> > 2018-08-15 5:43 GMT+02:00 Danny Ayers <danny.ayers@gmail.com>:
> > > Once again I'm a little late to the party (but still determined to sup). Got a bit disturbed by Kurt's post [1].
> > >
> > > I'm trying to find the point, it's not clear to me. What am I missing?
> > >
> > > I like the idea of a validation language, the Jena folks did a great lint+ which was very useful. But is this/that really a constraint language?
> > >
> > > Missing an obvious one maybe, the locally closed world, applying PROLOG-style rules.
> > >
> > > I like the idea of throwing a net over a graph, finding the little fishies that slip out. But does this one actually catch anything?
> > >
> > > Cheers,
> > > Danny.
> > >
> > > [1] https://www.linkedin.com/pulse/meet-shacl-next-owl-kurt-cagle/
> > >
> > >
> > > --
> > > ----
> > >
> > > http://hyperdata.it
>

Received on Wednesday, 15 August 2018 22:39:54 UTC