Re: [RDF+OWL] Way of connecting RDF and RIF lists

 >
> Jos De Bruijn wrote on 28/04/2009 14:27:06:
>>
>> <snip/>
>>
>> [...]
>>
>> I could not think of a good example in BLD, but consider an extension of
>> BLD with existentials in the head. You could write:
>>
>> Exists ?x (ex:p(List(ex:a | ?x)))
>>
>>
>> This does not entail:
>>
>> Exists ?y (And(ex:p(List(ex:a | ?y)) is-list(?y)))
> 
> What if we removed malformed lists from RIF?

That makes some sense to me, although I'm not sure if it would be the
best solution.
We could define I_tail as a function D_ind^+ \times D_list -> D_ind,
where D_list is the image of I_list.
Then, if the last argument of I_tail would not be in D_list, the value
is unspecified, like with the built-ins.  Implementations should then
raise an error.
This means that, in practice, when using a variable for the tail, one
should always use a guard predicate:

p(?x) :- is-list(?y) and q(List(a | ?y))


Jos

> 
> Christian
> 
> 
> ILOG, an IBM Company
> 9 rue de Verdun
> 94253 - Gentilly cedex - FRANCE
> Tel. +33 1 49 08 35 00
> Fax +33 1 49 08 35 10
> 
> 
> Sauf indication contraire ci-dessus:/ Unless stated otherwise above:
> Compagnie IBM France
> Siège Social : Tour Descartes, 2, avenue Gambetta, La Défense 5, 92400
> Courbevoie
> RCS Nanterre 552 118 465
> Forme Sociale : S.A.S.
> Capital Social : 609.751.783,30 €
> SIREN/SIRET : 552 118 465 02430
> 

-- 
+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 Tuesday, 28 April 2009 14:35:49 UTC