[Attempto] Extra variables and individuals created in OWL+SWRL
Kaarel Kaljurand
kaljurand at gmail.com
Thu Sep 26 13:14:20 CEST 2013
Hi,
On Wed, Sep 25, 2013 at 10:38 PM, Jean-Marc Vanel
<jeanmarc.vanel at gmail.com> wrote:
> Here is an example :
>
> If an n:appartment A v:has-surface S and P = ( S * 7000 ) then A v:has-price
> P .
> A1 is an n:appartment . A1 v:has-surface 100 .
>
>
> And how it is translated with -solo owlfsspp :
>
> DLSafeRule(
> Body(
> ClassAtom(
> :appartment
> Variable(<urn:swrl#x1>)
> )
> ObjectPropertyAtom(
> :has-surface
> Variable(<urn:swrl#x1>)
> Variable(<urn:swrl#x2>)
> )
> BuiltInAtom(<swrlb:equal>
> Variable(<urn:swrl#x4>)
> Variable(<urn:swrl#xg1>)
> )
> BuiltInAtom(<swrlb:multiply>
> Variable(<urn:swrl#xg1>)
> Variable(<urn:swrl#x2>)
> "7000"^^<http://www.w3.org/2001/XMLSchema#integer>
> )
> )
> Head(
> ObjectPropertyAtom(
> :has-price
> Variable(<urn:swrl#x1>)
> Variable(<urn:swrl#x4>)
> )
> )
> )
> DataPropertyAssertion(
> :has-surface
> _:199541176426535230
> "100"^^<http://www.w3.org/2001/XMLSchema#integer>
> )
> SameIndividual(
> _:199541176426535230
> _:977449132216104540
> )
> ClassAssertion(
> :appartment
> _:977449132216104540
> )
> ClassAssertion(
> owl:Thing
> _:199541176426535230
> )
>
>
> It's not wrong, but variable xg1 and individual _:977449132216104540 could
> be eliminated and replaced by x4 and _:199541176426535230 respectively .
Yes, I agree. I think the problem is that it's too difficult to do the
elimination during the construction of these formulas, i.e. it has to
be done in post-processing. (E.g. maybe the rule engine could rewrite
these rules into a more compact form while loading them.)
How do these extra equality statements affect you? Do they show up in
a confusing way in a visualization or in reasoning results?
Best,
Kaarel
More information about the attempto
mailing list