getting more concrete about 4.6

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