- From: Kendall Clark <kendall@monkeyfist.com>
- Date: Tue, 31 Aug 2004 10:13:54 -0400
- To: public-rdf-dawg@w3.org
Folks, We've talked a lot about 4.6 (and 4.6a) Additional Semantic Information, which says: It should be possible for knowledge encoded in other languages semanticfor example: RDFS, OWL, SWRL andto affect the results of queries executed against RDF graphs. That's interesting, but isn't what I really wanted when I first proposed a requirement that mutated into 4.6. What I really wanted, and still want, is some syntactic sugar for basic schema queries. In reading more about RQL today -- since one of the comments at Lambda the Ultimate suggested we hadn't looked at it closely enough -- I realized that RQL has precisely what I want for BRQL/DAWGQL. FWIW, we would have to spell things differently, since RQL is more functional/composable than we're likely to be, but I like and want these semantics (which would seem to work for RDFS and OWL, though I'm not entirely sure about that): In order to traverse class/property hierarchies defined in a schema, RQL provides functions such as subClassOf (for transitive subclasses) and subClassOf^ (for direct subclasses). For example, we can issue the queries: subClassOf(Artist) and subClassOf^(Artist) to find all transitive (direct) subclasses of class Artist. Similarly, functions superClassOf and superClassOf^ return transitive (direct) superclasses. Similar functions exist for schema properties (i.e., subPropertyOf and subPropertyOf^). For example, we can ask for all transitive (direct) subproperties of creates: subPropertyOf(creates) and subPropertyOf^(creates). Similarly, functions superPropertyOf, superPropertyOf^ return superproperties. Moreover RQL provides functions to retrieve leaf nodes (classes, properties, metaclasses) that are subclasses of a given node, as well as the nearest common ancestor of two nodes of the same type: leafclass(Artist), leafproperty(creates), nca(Painter, Sculptor). Moreover, RQL provides predefined names (i.e., functions with no arguments) to retrieve root and leaf nodes of the subclass/subproperty hierarchies. These are topclass, leafclass, topproperty, leafproperty. That's what I had in mind for 4.6 as originally proposed. Whether others want this or not, it's at least more concrete and, thus, more easily debated than the way 4.6 is currently worded. At least IMO. Best, Kendall Clark
Received on Tuesday, 31 August 2004 14:15:35 UTC