W3C home > Mailing lists > Public > public-rif-wg@w3.org > May 2009

Re: AW: Two issues with RIF-Core

From: Jos de Bruijn <debruijn@inf.unibz.it>
Date: Sat, 09 May 2009 13:53:08 +0200
Message-ID: <4A056EA4.6040205@inf.unibz.it>
To: Adrian Paschke <adrian.paschke@gmx.de>
CC: 'Gary Hallmark' <gary.hallmark@gmail.com>, 'Dave Reynolds' <der@hplb.hpl.hp.com>, 'Sandro Hawke' <sandro@w3.org>, '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).


Jos

> 
> -Adrian
> 
> 
> On Fri, May 8, 2009 at 9:13 AM, Dave Reynolds <der@hplb.hpl.hp.com> wrote:
>> Sandro Hawke wrote:
>>>>> 2. PRD and Core allow frame properties to be TERMs, i.e. Frame ::=
>>>>> TERM '[' (TERM '->' TERM)* ']'
>>>>>
>>>>> This is likely to be a problem for most production rule engines. It
>>>>> would be much easier if Frame ::= TERM '[' (Const'->' TERM)* ']'
>>>> Agreed.
>>> I'm not sure this is a good idea.
>>>
>>> Partly for the sake of argument, let me suggest an alternative.  Take
>>> frames out of Core and PRD.  If we restrict frames as you're proposing,
>>> then (as far as I can tell) they don't actually provide any
>>> functionality.  Wherever you were using s[p->o], just use p(s,o).  Why
>>> have two parallel features that provide exactly the same functionality?
>>> As I understood it, the whole point of frames was to allow for
>>> quantifying over predicates.
>>>
>>> Dave, with this change, how would you implement RDFS (etc) rules?
>> Sorry, I was misunderstanding the suggested change and spoke without
>> thinking clearly. Must have been still asleep.
>>
>> I assumed, wrongly, that what Gary was trying to do was to exclude Lists
> and
>> external functions from frame slots, not stop you using vars to quantify
>> over slot names.
>>
>> You are right, forcing frame slots to be only constants would be too
> strong
>> and would invalidate their use in RDF.
>>
>> I withdraw my "Agreed" and will go get some more caffeine to see if I can
>> get my brain working again.
>>
>> Dave
>>
>> [Though of course frames are just syntactic sugar for something like
>> rif:triple(s,p,o), they don't provide any added expressivity.]
>>
>> --
>> Hewlett-Packard Limited
>> Registered Office: Cain Road, Bracknell, Berks RG12 1HN
>> Registered No: 690597 England
>>
>>
> 
> 
> 

-- 
+43 1 58801 18470        debruijn@inf.unibz.it

Jos de Bruijn,        http://www.debruijn.net/
----------------------------------------------
Many would be cowards if they had courage
enough.
  - Thomas Fuller


Received on Saturday, 9 May 2009 11:53:55 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:34:08 GMT