import java.util.*;
import org.inference_web.pml.v2.pmlj.*;
import org.inference_web.pml.v2.pmlp.*;
import org.inference_web.pml.v2.util.*;
import org.inference_web.pml.v2.vocabulary.*;
public class NodeSetGen {
public NodeSetGen () {
try {
// initializing info needed to create NodeSet
String nsURI = "http://inference-web.org/2007/primer/examples/proofs/tonys/answer_2/answer.owl#answer";
String conclusionString = "(type TonysSpecialty ?x)";
String languageURI = "http://inference-web.org/registry/LG/KIF.owl#KIF";
String inferenceRuleURI = "http://inference-web.org/registry/DPR/GMP.owl#GMP";
String inferenceEngineURI = "http://inference-web.org/registry/IE/JTP.owl#JTP";
String antecedentURI1 = "http://inference-web.org/2007/primer/examples/proofs/tonys/answer_2/ns1.owl#ns1";
String antecedentURI2 = "http://inference-web.org/2007/primer/examples/proofs/tonys/answer_2/ns2.owl#ns2";
String variableMappingFrom = "?x";
String variableMappingTo = "SHELLFISH";
// create NodeSet instance
IWNodeSet ns = (IWNodeSet)PMLObjectManager.createPMLObject(PMLJ.NodeSet_lname);
// set NodeSet's identification
ns.setIdentifier(PMLObjectManager.getObjectID(nsURI));
// create Information instance as conclusion
IWInformation conclusion = (IWInformation)PMLObjectManager.createPMLObject(PMLP.Information_lname);
// set conclusion string and its language
conclusion.setHasRawString(conclusionString);
conclusion.setHasLanguage(languageURI);
// assign NodeSet's hasConclusion property value
ns.setHasConclusion(conclusion);
// create InferenceStep instance
IWInferenceStep infStep = (IWInferenceStep)PMLObjectManager.createPMLObject(PMLJ.InferenceStep_lname);
// set inference step position of a list and the rule used
infStep.setHasIndex(0);
infStep.setHasInferenceRule(inferenceRuleURI);
infStep.setHasInferenceEngine(inferenceEngineURI);
// create Mapping instance
IWMapping varMapping = (IWMapping)PMLObjectManager.createPMLObject(PMLJ.Mapping_lname);
// set mapping values
varMapping.setMapFrom(variableMappingFrom);
varMapping.setMapTo(variableMappingTo);
// assign InferenceStep's hasVariableMapping property value
infStep.addHasVariableMapping(varMapping);
// create antecedent list
List antecedents = new ArrayList();
antecedents.add(antecedentURI1);
antecedents.add(antecedentURI2);
// set InferenceStep's hasAntecedentList property value
infStep.setHasAntecedentList(antecedents);
// add the InferenceStep to the isConsequentOf property value list
ns.addIsConsequentOf(infStep);
// get NodeSet's content on screen or save it to a file
System.out.println(PMLObjectManager.printToString(ns));
//PMLObjectManager.savePMLObject(ns, "fileName");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new NodeSetGen ();
}
}