[Pellet-users] KRSS and Pellet
Evren Sirin
evren at clarkparsia.com
Mon Apr 7 18:45:28 UTC 2008
On 4/5/08 3:59 AM, Hongkai Liu wrote:
> Hello,
>
> I have a few questions about Pellet. The following are the codes
> that check ABox consistency (in KRSS) with unique name assumption. It
> seems that
>
> PelletOptions.USE_UNIQUE_NAME_ASSUMPTION = true;
>
> does not do the job. The ABox is
>
> (RELATED IND_A IND_B R1)
> (RELATED IND_A IND_C R1)
> (INSTANCE IND_A (AT-MOST 1 R1))
>
> It should be inconsistent under UNA. However, the output is
>
> WARN [main] (KnowledgeBase.java:756) - R1 is not a known property!
> WARN [main] (KnowledgeBase.java:756) - R1 is not a known property!
> Expressivity: ALCF
> Consistent : Yes
> Done!
>
> Did I do something wrong?
KRSS specification requires you to define any roles (or classes) before
they are used in any axiom so the above statements is not valid KRSS.
> Also, what do the above 2 warnings mean?
>
The error messages are very uninformative but what is happening is tha
the ABox relations are being ignored completely because the role R1 is
not defined earlier. Just adding a define-primitive-role statement
should be enough to fix it.
> If an ABox A is inconsistent, how can I have access to the minimal
> inconsistent subset of A? (pinpointing) - Still A is in KRSS.
>
You can call kb.getExplanationSet() after the call to kb.isConsistent().
Note that, you need to change some configuration options as shown in the
ExplanationExample from examples directory (turn on tracing at the very
beginning and turn on explanation after KB is created).
The explanation returned will be in the internal Pellet format which is
very straight-forward to understand. There is no support for translating
explanations back to KRSS axioms though you can easily implement it
yourself if you need so. We primarily provide explanations as OWL axioms
through OWLAPI interface (again see the ExplanationExample).
Cheers,
Evren
> Thanks a lot.
>
> Hongkai Liu
>
> -----------------------------------------------
> import org.mindswap.pellet.KRSSLoader;
> import org.mindswap.pellet.KnowledgeBase;
> import org.mindswap.pellet.PelletOptions;
>
> public class Hello {
>
> public static void main( String[] args ) throws Exception {
> KRSSLoader loader = new KRSSLoader();
> KnowledgeBase kb = new KnowledgeBase();
> loader.load( "/home/aat/liuhkai/test/java/pellet-1.5.1/test1", kb );
> PelletOptions.USE_UNIQUE_NAME_ASSUMPTION = true;
> kb.prepare();
> System.out.println( "Expressivity: " + kb.getExpressivity() );
> boolean consistent = kb.isConsistent();
> System.out.println( "Consistent : " + (consistent?"Yes":"No") );
> System.out.println( "Done!");
> }
>
> }
> _______________________________________________
> Pellet-users mailing list
> Pellet-users at lists.owldl.com
> http://lists.owldl.com/mailman/listinfo/pellet-users
> _______________________________________________
>
> Sponsored by Clark & Parsia, LLC http://clarkparsia.com/
>
More information about the Pellet-users
mailing list