- From: Irene Polikoff <irene@topquadrant.com>
- Date: Mon, 24 Nov 2014 19:20:36 -0500
- To: "'Dean Allemang'" <dallemang@workingontologist.com>, "'Holger Knublauch'" <holger@topquadrant.com>
- Cc: <public-data-shapes-wg@w3.org>
- Message-ID: <239301d00845$a346b4b0$e9d41e10$@topquadrant.com>
Dean, Your messages are indeed getting through. It seems to me that another issue with using OWL to do the kind of definitions you are describing is that it can’t (to my knowledge) cover a set a fairly common constraints such as start date must be before the end date. I presuming here that this category of constraints is accepted as a requirement. I believe Peter suggested addressing this issue by using SWRL, so this option would be OWL+SWRL. Is this correct? Peter identified a couple of other options: · Z – I don’t think this is a viable idea as it introduces a new language when there are already good options within the RDF stack · RDF semantics – can this work? And how? · Algebra on RDF graphs and datasets – can this work? And how? Irene From: deanallemang@gmail.com [mailto:deanallemang@gmail.com] On Behalf Of Dean Allemang Sent: Monday, November 24, 2014 6:10 PM To: Holger Knublauch Cc: public-data-shapes-wg@w3.org Subject: Re: Role of SPARQL I suspect that Eric was reacting to my previous message (presuming it went through; I got a message from the W3C that it wouldn't be delivered until I gave permission for it to be posted, which I did, but I don't *really* know if it was posted), where I really was talking about "defined as SPARQL". One of the issues I have with a new language is that we have to be very specific in defining exactly what everything means. This might seem simple, but for example, suppose we have a shape definition that says that something must have exactly two values from some class for some field. If in the data, we have two values, but they are owl:sameAs one another, does that count? If we have three values, but two of them are owl:sameAs one another, does that count? What if one of them is a member of a subclass instead of the specified class? Or what if it could be inferred to be a member via some restriction, etc.? What seemed like a simple concept ("exactly two") has a lot of variation of possible meaning. It will be our job to define that (and more to the point, also the job of anyone who wants to extend the language). I was indeed suggesting that we use SPARQL to *define* this. So that "exactly two" would be defined e.g.., as SELECT (COUNT (?r) AS ?many) WHERE {?object ?property ?r} HAVING (?many = 2) This query (with some statement about the inference behind it - none, RDFS-only, OWL-only (profile DL, EL, QL, or RL)) makes the answer to all those questions clear. And all these pieces (SPARQL, RDFS, OWL) already exist and have stable semantics. FWIW, OWL would be superior to SPARQL for this job in some ways, not least of which you can prove statements in OWL much more easily than you can prove statements about SPARQL. I don't think anyone is proposing that we use OWL in this way, since it has many shortcomings as well (I happen to think that ICV does a good job of getting the best of both worlds here).. Dean On Tue, Nov 25, 2014 at 9:13 AM, Holger Knublauch <holger@topquadrant.com> wrote: On 11/24/14, 10:59 PM, Eric Prud'hommeaux wrote: Note that there is a leap between "compiles to SPARQL" and "defined as SPARQL queries". The former is a pragmatic way to make your schema useful on more infrastructure; the latter is a question of how implementors, researchers, optimizers etc. will be able to understand and work with the definition. Absolutely. Compiling to SPARQL is what I meant only. There can be any number of surface syntaxes that produce SPARQL. Holger
Received on Tuesday, 25 November 2014 00:21:18 UTC