pellet.PelletRealize Maven / Gradle / Ivy
The newest version!
// Copyright (c) 2006 - 2008, Clark & Parsia, LLC.
// This source code is available under the terms of the Affero General Public
// License v3.
//
// Please see LICENSE.txt for full license terms, including the availability of
// proprietary exceptions.
// Questions, comments, or requests for clarification: [email protected]
package pellet;
import org.mindswap.pellet.KnowledgeBase;
import org.mindswap.pellet.taxonomy.printer.ClassTreePrinter;
import org.mindswap.pellet.taxonomy.printer.TaxonomyPrinter;
import aterm.ATermAppl;
/**
*
* Title: PelletRealize
*
*
* Description:
*
*
* Copyright: Copyright (c) 2008
*
*
* Company: Clark & Parsia, LLC.
*
*
* @author Markus Stocker
*/
public class PelletRealize extends PelletCmdApp {
public PelletRealize() {
super( );
}
@Override
public String getAppCmd() {
return "pellet realize " + getMandatoryOptions() + "[options] ...";
}
@Override
public String getAppId() {
return "PelletRealize: Compute and display the most specific instances for each class";
}
@Override
public PelletCmdOptions getOptions() {
PelletCmdOptions options = getGlobalOptions();
options.add( getLoaderOption() );
options.add( getIgnoreImportsOption() );
options.add( getInputFormatOption() );
return options;
}
@Override
public void run() {
KnowledgeBase kb = getKB();
startTask( "consistency check" );
boolean isConsistent = kb.isConsistent();
finishTask( "consistency check" );
if( !isConsistent )
throw new PelletCmdException( "Ontology is inconsistent, run \"pellet explain\" to get the reason" );
startTask( "classification" );
kb.classify();
finishTask( "classification" );
startTask( "realization" );
kb.realize();
finishTask( "realization" );
TaxonomyPrinter printer = new ClassTreePrinter();
printer.print( kb.getTaxonomy() );
}
}