W3C home > Mailing lists > Public > public-cwm-talk@w3.org > January to March 2010

Re: scope of _:existentials in N3Logic?

From: <jos.deroo@agfa.com>
Date: Mon, 1 Mar 2010 12:01:00 +0100
To: yves.raimond@gmail.com
Cc: connolly@w3.org, Graham Klyne <GK-lists@ninebynine.org>, public-cwm-talk@w3.org, public-cwm-talk-request@w3.org
Message-ID: <OF687EF893.76A57F33-ONC12576D9.0039995B-C12576D9.003C86B9@agfa.com>
Hi Yves,

Let me first say that I really like your Henry work esp. the N3 DCG.
Also thanks to Graham for sharing his Swish experience.

As you say, in Euler we can use Skolem functions via the e:tuple builtin
but in the latest Euler yap engine we don't need the Skolem functions
anymore, we use a "Skolem machine" and "labelvars" instead,
see the predicates sem/1, sem/4 and labelvars/4 in the code at

Kind regards,

Jos De Roo | Agfa HealthCare
Senior Researcher | HE/Advanced Clinical Applications Research
T  +32 3444 7618

Quadrat NV, Kortrijksesteenweg 157, 9830 Sint-Martens-Latem, Belgium

Yves Raimond <yves.raimond@gmail.com> 
03/01/2010 10:57 AM

Graham Klyne <GK-lists@ninebynine.org>
Jos De Roo/AMDUS/AGFA@AGFA, connolly@w3.org, public-cwm-talk@w3.org, 
Re: scope of _:existentials in N3Logic?


FWIW, I ran into some similar problems when playing with Swish and 
inference rules - handling bnodes got rather messy.  Eventually I figured 
(but didn't get round to implementing) that I could convert to some kind 
of unique generated id on loading the data, and use similar when 
introducing existentials in inferences, treat these like any other URI for 
inference purposes, than convert back to bnodes when saving the data.

When implementing the N3 reasoning part of Henry [1], I found that 
skolemisation [2] was critical to make bnode handling relatively simple 
and efficient - it is also fairly easy to implement. I believe Euler is 
also using it.


[1] http://code.google.com/p/km-rdf/
[2] http://en.wikipedia.org/wiki/Skolem_normal_form
Received on Monday, 1 March 2010 11:01:37 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:01:06 UTC