- From: Alberto Reggiori <alberto@asemantics.com>
- Date: Mon, 17 Jan 2005 15:45:12 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
This comment suggests HTTP GET HREF/SRC alike semantics for RDF/S the rdfs:seeAlso property, as an alternative to the DESCRIBE keyword (and query machinery) [1]. And replacing it by simply using a SELECT query on certain well-known properties (and promoting an immediate "network effect" by leveraging on the protocol part). While it is clear to me that by moving the "description of a resource" logic/problem out of the query language it would simplify the syntax and the server implementation burden - I am not sure the rdfs:seeAlso proposal would be general enough to ask open questions to an arbitrary big RDF storage/service, perhaps containing several millions of triples. And when several combinations of bNodes are used to describe resources being queried. I expect this needs further discussion in the WG - especially in the light of the upcoming WD for SPARQL query syntax. Any thoughts? Whom is supporting DESCRIBE? Alberto [1] http://lists.w3.org/Archives/Public/public-rdf-dawg/2004OctDec/ 0359.html Begin forwarded message: > Resent-From: public-rdf-dawg-comments@w3.org > From: Dan Brickley <danbri@w3.org> > Date: January 17, 2005 2:30:10 PM CET > To: public-rdf-dawg-comments@w3.org > Cc: danbri@w3.org > Subject: proposal to drop DESCRIBE from SPARQL > > > (this is a personal review comment, like my others; it shouldn't > be mistaken for a SWBPD or SWIG request for changes to SPARQL). > > I hereby propose you drop the DESCRIBE construct from SPARQL, > and rework that part of the spec to show how queries can be > written which ask for RDF documents in terms of their > topics and other properties. > > Similar (perhaps in some ways better) functionality can be achieved by > simply asking SPARQL questions which give as their answers > references to RDF/XML documents. > > Refs: > published WD of 2004-10-12, > http://www.w3.org/TR/2004/WD-rdf-sparql-query-20041012/#describe > > live editor's copy at time of writing, > http://www.w3.org/2001/sw/DataAccess/rq23/#describe > > The spec has been re-organized a bit, but the basic idea seems > the same as published in the October WD, which is to provide a > loose and flexible mechanism by which a server can return a > useful bundle of information about some entities identified > via query expressions. I should be clear here that I think this > is a valuable facility to have available in SPARQL; my only > objection is that it doesn't need a keyword in the language. > > Instead, I propose that queries which use the rdfs:seeAlso > property could serve this purpose. If that property > doesn't quite meet your needs, please look into designs > which use similar properties. > >> From http://www.w3.org/TR/rdf-schema/#ch_seealso > > 5.4.1 rdfs:seeAlso > > rdfs:seeAlso is an instance of rdf:Property that is used to indicate a > resource that might provide additional information about the subject > resource. > > A triple of the form: > > S rdfs:seeAlso O > > states that the resource O may provide additional information about S. > It may be possible to retrieve representations of O from the Web, but > this is not required. When such representations may be retrieved, no > constraints are placed on the format of those representations. > > The rdfs:domain of rdfs:seeAlso is rdfs:Resource. The rdfs:range of > rdfs:seeAlso is rdfs:Resource. > > There are also some notes in the ESW wiki, > http://esw.w3.org/topic/UsingSeeAlso which might be useful. > > Here's the first example from 10.3.2 editor's draft, > > PREFIX foaf: <http://xmlns.com/foaf/0.1/> > DESCRIBE ?x > WHERE (?x foaf:mbox <mailto:alice@org> ) > > > Here's the seeAlso'd form I propose: > > PREFIX foaf: <http://xmlns.com/foaf/0.1/> > PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> > SELECT ?doc > WHERE (?x foaf:mbox <mailto:alice@org> ) > WHERE (?x rdfs:seeAlso ?doc) > > > Some notes on pro/cons: > > 1. the query is longer, but the query language is simpler > > 2. implementations barely change; as with DESCRIBE particular datasets > and services may or may not have anything to offer in response > to the query. > > 3. the query-based design is incrementally extensible - different > types of description could be requested. We could constrain the > query by (?doc dc:format "text/rdf+n3") or by reference to the > rdf:type of the ?doc, eg. FOAF's "PersonalProfileDocument" or RSS1's > notion of a channel, or by characteristics of the source of the > describing statements (eg. we could ask for ?docs which have been > digitally signed by people who match some SPARQL expression). > > 4. the main difference between the current keyword-based design and > the property-centric alternative I'm proposing seems to be that in > the latter, we get the actual RDF, in the former, we get a (potentially > dangling, 404 etc) document reference. I'd expect a common setup to be > that these are simply references back into the same SPARQL service, > although similar queries could (depending on nature and whims of the > dataset/service being asked) return rdfs:seeAlsos that point elsewhere > in the Web. The property-centric approach could then mean more > round-trips to the server --- is this a problem? But it also allows > RDF to be used to describe the documents being referenced (eg. size in > bytes, number of triples, etc) which could help clients be more > efficient and selective. > > 5. Can we SELECT from the results of a DESCRIBE in a single SPARQL > expression? I can see something like that making sense in terms of > partitioning work between a client and server, eg. a dumb server > returns > generic book reviews; local client selects out prices and ratings. If > this > sort of thing is important, perhaps it is evidence for the existing > keyword-based approach. But I'm not sure DESCRIBE works like that > currently. There's also some relationship to N3's 'log:semantics' > design, perhaps. In N3, I believe I could query using rdfs:seeAlso > expressions, and then dereference the RDF to populate a queriable > context. I expect that in SPARQL, such things will get done in > application code rather than in the QL. > > 6. How to deal with multiple topics? > > Another example (from Editor's copy) > > [[ More than one URI or can be given: > > PREFIX foaf: <http://xmlns.com/foaf/0.1/> > DESCRIBE ?x ?y <http://example.org/> > WHERE (?x foaf:knows ?y) > ]] > > This time we're asking for a chunk of RDF that describes > things that are in a foaf:knows relationship and a > document, <http://example.org/>. Triples that > were "about" (in a loose sense, not just the rdf:subject sense) > either ?x, or ?y, or the doc... would be relevant. Triples which > were "about" the foaf:knows relationship connecting the two people > might be even more relevant, etc etc. The query is pretty vague. > > Can this be reformulated using properties? I tried, with a > mess of optionals. I'm sure something could be cooked up > with seeAlso or other properties, or rdf:List or rdf:Alt. The > sense of the query is loose enough that I doubt it worth > trying to capture it more formally as a complicated bunch of > OPTIONALs. Doing so is somewhat add odds to the whole point of > DESCRIBE anyway. > > > 7. seeAlso is good for Semantic Web deployment > > Promoting seeAlso and RDF description of RDF *documents* is > good for the Semantic Web, since it helps people find and > cross-reference pieces of RDF data. SPARQL's "DESCRIBE" > mechanism is purely internal to the language, currently. It > allows me to ask a service for RDF that describes some > particular thing, but all I get is the actual RDF. Encouraging > that RDF to be made available at GET-able URIs, and > described with rdfs:seeAlso and other RDF properties, is imho > an important part of getting the Semantic Web deployed, > crawled, and indexed. It also directs some attention towards > the important problem of characterising broad classes of RDF > document, and the constraints (loose/prose or machine-readable, > RDF-level or XML-level, etc) associated with them. > > > > That's about it. To recap: please drop the DESCRIBE keyword and > replace the examples with ones that use rdfs:seeAlso. > > cheers, > > Dan > > ps. I numbered my paragraphs to make my thoughts look ordered; don't > suppose I fooled anyone. > > pps. http://www.w3.org/1999/11/02-RDFServices/ was an attempt in > similar vein; now obsoleted by Annotea and SPARQL. I think there > almost as many usecases for 'describe' functionality as there > are for Web pages... > > > > > > - Alberto Reggiori, Senior Partner, R&D @Semantics S.R.L. www.asemantics.com Milan Office
Received on Monday, 17 January 2005 14:45:00 UTC