- From: Graham Klyne <GK@ninebynine.org>
- Date: Mon, 22 Mar 2004 23:51:43 +0000
- To: Drew McDermott <drew.mcdermott@yale.edu>, www-rdf-logic@w3.org
At 17:51 22/03/04 -0500, Drew McDermott wrote:
> > > > [Graham Klyne]
> > > > I'm wondering what strategies folks are using for inference over
> > > > collections (lists) of values in RDF (other than resorting to ad-hoc
> > > > code). (Maybe also over containers, but the closure of lists makes the
> > > > problem easier to define.)
> > >
> > [me]
> > >What do you mean by "strategy"? Can you give an example of ad-hoc
> > >code? Are we allowed to use OWL Rules?
> >
> > [Graham Klyne]
> > By "strategy", I mean here something like the outline of a general
> > technique that can be used in a variety different situations. Jos'
> > response of using recursive rules in his backward-chaining reasoner, Euler
> > [4], is an example. An approach using OWL rules (or a pattern based on
> > such) would indeed be interesting to me.
>...
> > The (half-baked) idea I was considering as a way to deal with inference
> > over a collection was to introduce a primitive along the lines of a
> 'fold',
> > as found in functional programming languages (which has been shown to have
> > some degree of universality for expressing recursive/repetitive functions
> > [3]), and combine that with non-iterative/non-recursive inference patterns.
>
>Whether you use 'fold' or recursive rules, at some point you're going
>to need an 'eval' operation that enables you to invoke actual
>procedures that compute things. ('+', for instance). For 'fold' to
>be anything like universal you're going to need higher-order
>functions, which would be a breathtaking addition to SWRL and other
>deductive systems.
>
>So, have you thought about what the 'eval' sublanguage would contain?
If I'm understanding your question properly, I'm thinking in terms of
simple syllogisms and primitives defined on datatyped values; e.g. per [1]
(such as '+', etc.).
I'm not thinking of adopting higher order functions here, so the
universality of fold may be illusory. What I was looking for was an
approach that would extend the scope of simple "one-step" inference
patterns to a repetitive mode in a principled and reasonably
straightforward fashion, and fold seemed to be a useful candidate.
(Though I did choose to use Haskell as a basis for my software [2],
precisely because I could use it to implement arbitrary new inference
primitives while working within a declarative framework, so I'm not sure
how breathtaking this really is.)
#g
--
[1] http://www.ninebynine.org/RDFNotes/RDF-Datatype-inference.html
[2] http://www.ninebynine.org/RDFNotes/Swish/Intro.html
------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact
Received on Tuesday, 23 March 2004 03:57:55 UTC