[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