- From: Sandro Hawke <sandro@w3.org>
- Date: Sat, 09 May 2009 08:40:04 -0400
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- cc: Adrian Paschke <adrian.paschke@gmx.de>, 'Gary Hallmark' <gary.hallmark@gmail.com>, 'Dave Reynolds' <der@hplb.hpl.hp.com>, 'RIF WG' <public-rif-wg@w3.org>
> Adrian Paschke wrote:
> >> Gary Hallmark wrote:
> >>
> >> ok, I can implement quantification over property names using Java
> >> reflection, so how about
> >>
> >> Frame ::= TERM '[' ((Const|Var) '->' TERM)* ']'
> >
> > That might lead to problems in round-tripping between frame languages and
> > relation based languages.
> >
> > A typical mapping from frames to relations would be
> >
> > ex:Customer1[ex:name -> "John"]
> >
> > ->
> >
> > ex:name(ex:Customer1 "John")
> >
> >
> > If quantification over properties is allowed, this would lead to
> > higher-order logic.
>
> No. One simply translates a frame a[b->c] to an atom of a ternary
> predicate ->(a,b,c).
Right. The interesting/challening part, I believe, is that Gary wants
to translate frames to Java objects. Doing so will require some
cleverness, since there are significant semantics/functionality
differences, but hopefully will give significant performance gains.
Ternary predicates are typically not super fast at matching (a,b,?).
(For example, SWI-Prolog uses a specially indexed structure for RDF
triples/quads, because normal predicate indexing is too slow.)
-- Sandro
Received on Saturday, 9 May 2009 12:40:13 UTC