- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Mon, 05 Sep 2005 20:15:28 +0100
- To: Enrico Franconi <franconi@inf.unibz.it>
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Enrico Franconi wrote: > > 1) On 2 Sep 2005, at 12:58, Seaborne, Andy wrote > <http://www.w3.org/mid/43183071.1070508@hp.com>: > > > = subgraph / entailment > > > > The RDF MT defines three kinds of entailment - simple, RDF and RDFS. > > RDF and RDFS are examples of vocabulary entailment. > > > > SPARQL basic patterns are defined to match by subgraph - the graph > > being matched against contains RDF and can have some level of > > entailment applied or not. Your first example misses this because > > you show the data, without a declaration of the entailment to be > > applied. The SPARQL query can execute against a simple entailed > > version or RDF entailed version (or "zero entailment"). > > OK, then it is necessary to change: > > s/subgraph of/entailed by/ in defn of basic pattern > (we have noticed that this change has been done already twice...) > > and somewhere there should be the ability to declare the type of > entailment (simple, RDF, RDFS - as defined in RDF-MT). > > ====== It seems to me that there are three elements; query + entailment rules + data One way to associate things is to put a declaration of the entailment in the query such as: ENTAILMENT <http://www.w3.org/TR/rdf-mt/#rdf_entail> then the definition of basic pattern match would use "entailment". This is viewing the allocation of responsibilities as "( query + entailment ) + data". [[Being aware that systems often do not provide full entailment, just a set of rules that give finite results and also a possible rules working group (the one being currently discussed or some future one) we should be designing for arbitrary rule sets, not just one of a fixed number. So ENTAILMENT needs to be something more general - maybe PARAM]] There is a different approach : where the entailment capability is a feature of the service being queried. This is "query + ( entailment + data )". The query executes over the entailed graph formed by the entailment rules and the input data. Basic pattern matching is by "subgraph" of the entailed graph. The local case has one other situation where the entailment capability is determined by the environment, not the query nor the data graph. Again, it is not a feature of the query language. This fits with the service paradigm and the use of the SPARQL protocol. It is the service being queried that determines the entailment capability. If the application wants a particular degree of the entailment, it needs to find the right service. It's the application responsibility to choose the right service - services will advertise their capabilities by some web service means. The current text in rq23 is based on the second paradigm. Would it help to add text that explains that the subgraph is the subgraph of the entailed graph, not the ground data? Andy <much useful material removed/>
Received on Monday, 5 September 2005 19:15:44 UTC