- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Tue, 11 Dec 2007 11:25:36 -0500
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- Cc: axel@platon.escet.urjc.es, "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
> >> 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 > >=20 > > 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 accomod= > ate > > 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 A query is just a body of a rule. Aggregates are extremely important for processing data using rules. Most rule languages that are worth their salt have aggregates. --michael > >> - 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 > > >=20 > > Did you answer this to me only, or to the list? > >=20 > > Axel > >=20 > >=20 > >> 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, bu= > t > >>> 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 dat= > a: > >>> In this example, we assume we have a builtin &count with binding patt= > ern > >>> > >>> &count( Input, Output) > >>> > >>> available that counts the extension of the predicate 'Input'. With su= > ch > >>> 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 th= > is > >>> generic mechanism for instance to implement an extension by aggrega= > te > >>> functions for SPARQL, details see [3,4]. In that paper we have more= > > >>> complex agregates where we can also define the parameters of a cert= > ain > >>> 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. 90=E2=80=9396, E= > dinburgh, > >>> 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 6t= > h > >>> International Conference on Ontologies, DataBases, and Applications o= > f > >>> 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 > >>> > >=20 > >=20 > > --=20 > Jos de Bruijn debruijn@inf.unibz.it > +390471016224 http://www.debruijn.net/ > ---------------------------------------------- > If you live to be one hundred, you've got it > made. Very few people die past that age. > - George Burns
Received on Tuesday, 11 December 2007 16:26:20 UTC