W3C home > Mailing lists > Public > public-rif-wg@w3.org > December 2007

Re: ACTION-384 completed: Post a use case for Higher-order builtins

From: Axel Polleres <axel.polleres@deri.org>
Date: Tue, 11 Dec 2007 18:25:43 +0000
Message-ID: <475ED627.4050904@deri.org>
To: Chris Welty <cawelty@gmail.com>
CC: Jos de Bruijn <debruijn@inf.unibz.it>, axel@platon.escet.urjc.es, "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>

I did respond to the list.

axel

Chris Welty wrote:
> 
> 
> Is Axel not responding to the list or am I dropping more email?  I am 
> only seeing Jos' half of this discussion.
> 
> -Chris
> 
> Jos de Bruijn wrote:
>>>> It seems to me that this is an issue for phase 2:
>>>> - I do not think there are many systems which support this kind of
>>> built-ins
>>>
>>> well, aggregates are supported by many languages (SQL, XQuery, etc.)
>>> and of crucial importance. It is just a more general definition of
>>> built-ins, fully upwards-compatible to simply saying "predicates with a
>>> fixed interpretation". I see no reason to preclude it if we can 
>>> accomodate
>>> it by a slightly more general notion of built-ins.
>>
>> The languages you mention are query languages; not rules languages. Are
>> there any rule systems besides dlvhex which support such general 
>> built-ins?
>>
>>>> - as I understand it, the implementation of such built-ins is far from
>>>> trivial
>>> not so hard either.
>>>
>>>> - because time is short, I think we should not start introducing new
>>>> features in the language, but rather concentrate on finishing the
>>>> features we agreed upon so far.
>>> It is important to avoid lock-in against such features though.
>>
>> it would be good to leave the option open for possible future extensions.
>>
>> Best, Jos
>>
>>> Did you answer this to me only, or to the list?
>>>
>>> Axel
>>>
>>>
>>>> Best, Jos
>>>>
>>>> Axel Polleres wrote:
>>>>> Hi all,
>>>>>
>>>>> I was asked to make a use case for what is called higher-order 
>>>>> built-ins.
>>>>>
>>>>> In order to recap, let me repeat a generic definition of the term
>>>>> "built-in" from one of my previous mails (see
>>>>> http://lists.w3.org/Archives/Public/public-rif-wg/2007Nov/0011.html):
>>>>>
>>>>> "[...] evaluable predicates, unlike usual definitions of built-ins in
>>>>> logic programming, can not only take constant parameters but also
>>>>> (extensions of) predicates as input. Inputs can not only be terms, but
>>>>> also predicate names (in which case the *extension* of the respective
>>>>> predicate is the input.)"
>>>>>
>>>>>
>>>>> Here some example:
>>>>>
>>>>>
>>>>> 1) Aggregate functions, for instance count seem to be a necessary
>>>>> prerequisite for aggregating not only database data, but also web 
>>>>> data:
>>>>> In this example, we assume we have a builtin &count with binding 
>>>>> pattern
>>>>>
>>>>>   &count( Input, Output)
>>>>>
>>>>> available that counts the extension of the predicate 'Input'. With 
>>>>> such
>>>>> a predicate, I could count the number of foaf:knows links defined 
>>>>> in my
>>>>> foaf file more or less like this:
>>>>>
>>>>>     myfriends(?X) :- :me[foaf:knows->?X].
>>>>>
>>>>>     friendscount(Count) :- &count( myfriends, Count ).
>>>>>
>>>>>   Such builtins ar implemented in the dlvhex system [1,2]. We used 
>>>>> this
>>>>>   generic mechanism for instance to implement an extension by 
>>>>> aggregate
>>>>>   functions for SPARQL, details see [3,4]. In that paper we have more
>>>>>   complex agregates where we can also define the parameters of a 
>>>>> certain
>>>>>   predicate we want to agregate over.
>>>>>
>>>>> 2) Another example is interoperability of rules and ontologies by
>>>>> dedicated DL query predicates, see also [1].
>>>>>
>>>>>
>>>>> 1. 1. T. Eiter, G. Ianni, R. Schindlauer, H. Tompits. A Uniform
>>>>> Integration of Higher-Order Rea-
>>>>> soning and External Evaluations in Answer Set Programming. In
>>>>> International Joint Con-
>>>>> ference on Artificial Intelligence (IJCAI) 2005, pp. 9096, Edinburgh,
>>>>> UK, Aug. 2005.
>>>>>
>>>>> 2. http://www.kr.tuwien.ac.at/research/dlvhex
>>>>>
>>>>> 3. A. Polleres, F. Scharffe, and R. Schindlauer. SPARQL++ for mapping
>>>>> between RDF vocabularies. In OTM 2007, Part I : Proceedings of the 6th
>>>>> International Conference on Ontologies, DataBases, and Applications of
>>>>> Semantics (ODBASE 2007), volume 4803 of Lecture Notes in Computer
>>>>> Science, pages 878-896, Vilamoura, Algarve, Portugal, November 2007.
>>>>> Springer.
>>>>> http://www.polleres.net/publications/poll-etal-2007.pdf
>>>>>
>>>>> 4. 
>>>>> http://www.polleres.net/presentations/20071127-SPARQL++ODBASE2007.pdf
>>>>>
>>>
>>
> 


-- 
Dr. Axel Polleres
email: axel@polleres.net  url: http://www.polleres.net/

rdf:Resource owl:differentFrom xsd:anyURI .
Received on Tuesday, 11 December 2007 18:25:59 GMT

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