- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Fri, 16 Apr 2004 10:31:24 +0300
- To: "ext Pat Hayes" <phayes@ihmc.us>
- Cc: kendall@monkeyfist.com, RDF Data Access Working Group <public-rdf-dawg@w3.org>
On Apr 15, 2004, at 20:28, ext Pat Hayes wrote: > > > > Task > > An RDF/OWL ontology editing/browsing/displaying system uses a > specialized GUI to display OWL/RDF ontologies. It uses RDF > annotations to the OWL/RDF to record information relevant to its > operation (such as screen coordinates, font styles, color) as part of > the ontology, using a specialized set of property names all in a > namespace reserved for use by the application. This enables it to use > RDF/OWL tools and conventions to store an ontology during an extended > work period. > > (We are designing such a system right now, called CODE, and it will do > this.) > > The developer wishes to be able to detect when any such triples occur > in an RDF graph, to extract them all when they do occur, and also to > be able to extract all triples which do not use any name in this > reserved namespace. To do this, a query which matches any triple with > a property name in a set of namespaces would be a useful feature, for > example in an ad-hoc notation: > > (?x {+<codelay:> +<cadegra:>}?y ?z .) Are you refering to namespace prefixes here? How can one do this since (a) there are no qnames, nor namespaces, in RDF (regardless of what syntactic machinery might be employed in RDF/XML or any other serialization of an RDF graph) and (b) there is no reliable way to deduce any namespace prefix from an arbitrary URI. IMO, the use case as defined, in terms of an XML namespace name, is incoherent insofar as RDF is concerned. I think a more RDF-pure approach would be to define explicit vocabularies which indicate which terms and subvocabularies are part of such vocabularies, such that the URIs denoting the terms remain fully opaque. It also allows one to define functional or application specific vocabularies which include terms having disparate namespaces (or rather, URI) prefixes. This is how we manage vocabularies in Nokia. A vocabulary for defining such vocabularies is http://sw.nokia.com/VOC-1 and some examples of deployed vocabularies defined as such are http://sw.nokia.com/FN-1 (note the use of functional sub-vocabularies) http://sw.nokia.com/MARS-3 http://sw.nokia.com/RDFQ-1 and e.g. a 3rd party definition for DC http://sw.nokia.com/uriqa?uri=http://purl.org/dc/elements/ 1.1&format=text/html You're query above, could be expressed as FIND all triples (?x ?y ?z) WHERE ?y voc:partOf <codelay> OR ?y voc:partOf <cadgra> I.e., presuming <codelay> and <cadgra> are rdf:type voc:Vocabulary and have their terms defined accordingly, then you simply want all triples where the predicate belongs to one of those vocabularies. With this approach, namespaces are *irrelevant*, as they should be given the principle of URI opacity. Eh? Patrick -- Patrick Stickler Nokia, Finland patrick.stickler@nokia.com
Received on Friday, 16 April 2004 03:33:02 UTC