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

AW: Two issues with RIF-Core

From: Adrian Paschke <adrian.paschke@gmx.de>
Date: Sat, 9 May 2009 13:36:38 +0200
To: "'Gary Hallmark'" <gary.hallmark@gmail.com>, "'Dave Reynolds'" <der@hplb.hpl.hp.com>
Cc: "'Sandro Hawke'" <sandro@w3.org>, "'RIF WG'" <public-rif-wg@w3.org>
Message-ID: <E1M2kra-0002uX-FF@maggie.w3.org>
>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.

-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
>
>



-- 
Cheers,

Gary Hallmark
Received on Saturday, 9 May 2009 11:37:15 GMT

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