W3C home > Mailing lists > Public > public-rif-wg@w3.org > July 2008

Re: BLD issue: non-disjointness of internal and external predicate symbols

From: Chris Welty <cawelty@gmail.com>
Date: Mon, 14 Jul 2008 09:43:56 +0200
Message-ID: <487B03BC.7090706@gmail.com>
To: Axel Polleres <axel.polleres@deri.org>
CC: Jos de Bruijn <debruijn@inf.unibz.it>, kifer@cs.sunysb.edu, RIF <public-rif-wg@w3.org>

This appears to be unresolved.  I see the problem Jos points out, that you can 
have the same symbol (and most problematically I guess if its the same URI) that 
*could* syntactically denote both an external predicate and an internal one. 
This *seems* to violate the design of the semantic web (URIs are rigid designators).

Personally, I think the internal/external distinction is outside the scope of 
the semantic web anyway, so I don't think this matters.  I am happy to leave it 
as is.  It merely *allows* one to use the same symbol in different RIF contexts, 
it doesn't require it.

Anyway, we need to wrap this up.  Were you OK with things as they are, Jos?


Axel Polleres wrote:
> Jos de Bruijn wrote:
>> Michael,
>> My argument is not about error-checking, but rather about the 
>> principle that the same constant you use in different places should 
>> mean the same thing.
>> But I'm also willing to compromise for the case of external frames, so 
>> the compromise would be:
>> - we create additional sets for external functions and predicates that 
>> are disjoint from the sets of "internal" symbols, and impose the 
>> condition that internal function and predicate symbols may not be used 
>> in external terms
>> - we do not impose restrictions on symbols used in external frames
>> Let's see what the rest of the working group thinks about this.
> Why do we need to make this restriction? It doesn't seem to buy us 
> anything, as semantically, the external funcs and preds are well 
> separated from the internal ones, so, no danger.
> Axel
>> Best, Jos
>> Michael Kifer wrote:
>>> On Thu, 10 Jul 2008 17:03:25 +0200
>>> Jos de Bruijn <debruijn@inf.unibz.it> wrote:
>>>> Michael Kifer wrote:
>>>>> This was not an omission, but I am fine with separating external from
>>>>> non-external symbols for functions and predicates. 
>>>> ok, good
>>>>  > As to the frames, I do not think any of the symbols
>>>>> should be required to be external.
>>>> But then the same constant used in different contexts has a 
>>>> different meaning, which I think was something we were trying to 
>>>> avoid in BLD.
>>> Frames are reflexive by nature. So, in some other statement you may 
>>> want to
>>> say that some object (even external one) has a particular set of 
>>> properties and
>>> list them).
>>> Frankly, I do not understand why is it a deal to allow the same, say 
>>> predicate,
>>> to appear inside External(...) and outside of it. The reason for 
>>> separating the
>>> symbols was to ease the interface with FOL. But separating external and
>>> non-external symbols does not affect that.
>>> Syntactically it is clear whether a symbol is used as external or 
>>> internal, and
>>> I see no reason to reinforce this with an additional syntactic kludge (I
>>> conceded it just in the interests of peace :-).  If your argument is
>>> error-checking then it is not our business. Systems that care about 
>>> it would
>>> build the appropriate error checkers.
>>>     --michael
>>>> Best, Jos
>>>>>     --michael
>>>>> On Thu, 10 Jul 2008 12:57:45 +0200
>>>>> Jos de Bruijn <debruijn@inf.unibz.it> wrote:
>>>>>> There is an issue in BLD, which I unfortunately did not catch 
>>>>>> before.  I think it is probably an omission in the definition, but 
>>>>>> it is a substantive one.
>>>>>> If we all agree that it is indeed an omission, we can probably 
>>>>>> address the problem, create a new frozen version, and vote about 
>>>>>> publication in the next phone conference on Tuesday.
>>>>>> Personally, I am not ready to sign off on publication before this 
>>>>>> issue is resolved.
>>>>>> The issue is the following: in the definition of well-formed 
>>>>>> terms, the set of all symbols is partitioned into predicate 
>>>>>> symbols, function symbols, etc. however, no distinction is made 
>>>>>> between external and "internal" symbols.  The consequence is that 
>>>>>> the same function or predicate symbol can be used both in an 
>>>>>> external term and an internal term, and these two terms have 
>>>>>> different meanings, i.e., the same constant is interpreted 
>>>>>> differently based on the context, which is something we explicitly 
>>>>>> wanted to avoid in BLD.  So, a built-in function may be used 
>>>>>> outside an external term and will be uninterpreted.
>>>>>> The problem is easy to fix by defining additional sets of external 
>>>>>> predicate function symbols that are disjoint from the other sets 
>>>>>> of symbols and defining appropriate restrictions on external terms 
>>>>>> (i.e., the first function/predicate symbol in an external term 
>>>>>> must be an external symbol).
>>>>>> It becomes a bit more tricky when considering external frames, but 
>>>>>> probably all constants used in an external frame should be 
>>>>>> external individuals/functions/predicates.
>>>>>> Best, Jos

Dr. Christopher A. Welty                    IBM Watson Research Center
+1.914.784.7055                             19 Skyline Dr.
cawelty@gmail.com                           Hawthorne, NY 10532
Received on Monday, 14 July 2008 07:44:44 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:51 UTC