On 1 Jun 2007, at 12:36, Dan Brickley wrote:

[snip]
Perhaps I misunderstand the issue,

At least a nuance.

but I wonder whether a block of additional PREFIX declarations would be enough in some cases.

Yes. It can help with giving a readable name (though then you have two places to synch your query and if you have a lot of names you can blow up the prefix heading).

Eg. testing in http://xmlarmyknife.org/api/rdf/sparql/query (ARQ- based),
I can write the usual:

        PREFIX foaf: <http://xmlns.com/foaf/0.1/>
        SELECT * WHERE {?x a foaf:Document }
                
...or I can use PREFIX to create direct abbreviations for classes and properties, in this case abbreviating the verbose and forgettable word "Document" to the more user-friendly "Doc":

        PREFIX foaf: <http://xmlns.com/foaf/0.1/>
        PREFIX Doc: <http://xmlns.com/foaf/0.1/Document>
        SELECT * WHERE {?x a Doc: }

This would only be useful where a limited number of such declarations were needed. And they'd still clutter the query, but would at least be isolated to a set of skimmable declarations at the top of the query, rather than in the intellectually more demanding WHERE clause.

And they don't address the issue of having to label probe. I.e., prefix tricks help with the readability of individual triples, but don't simplify the query overall.

Plus, consider the use in output, and, esp. if you are using the results from one query to create or adjust others (say in the Virtuoso client or one of the web forms).

Cheers,
Bijan.

Reply via email to