Rdf 使用Pellet API加载本体时出现问题

Rdf 使用Pellet API加载本体时出现问题,rdf,jena,owl,pellet,Rdf,Jena,Owl,Pellet,我想使用Jena Pellet API作为Reasoner来推断owl文件中的新数据。我已经下载了jar文件pellet.jar,并将其附加到我的EclipseJava项目中。但是,在运行projet时,我仍然收到此错误消息 有人知道我错过了什么吗 这是我的密码 public class Mainprogram { public static String FILENAME = "file:./sample.owl"; public static void main( Str

我想使用
Jena Pellet API
作为
Reasoner
来推断owl文件中的新数据。我已经下载了jar文件pellet.jar,并将其附加到我的EclipseJava项目中。但是,在运行projet时,我仍然收到此错误消息

有人知道我错过了什么吗

这是我的密码

public class Mainprogram {

    public static String FILENAME = "file:./sample.owl";

    public static void main( String[] args ) {
        new Mainprogram().run();
    }

    protected OntModel getSoctraceOntology(){

        OntModel model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);

        model.read(FILENAME, null, "RDF/XML");          

        // validation report
        ValidityReport report = model.validate();

        printIterator(report.getReports(), "Validation Rresults");          

        return model;

    }       
}
下面是错误消息

Exception in thread "main" java.lang.NoClassDefFoundError: com/clarkparsia/pellet/rules/ContinuousRulesStrategy
at org.mindswap.pellet.jena.OWLReasoner.<init>(OWLReasoner.java:90)
at org.mindswap.pellet.jena.PelletInfGraph.<init>(PelletInfGraph.java:146)
at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:78)
at com.hp.hpl.jena.ontology.impl.OntModelImpl.generateGraph(OntModelImpl.java:2744)
at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:139)
at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:128)
at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:410)
at soctrace.Mainprogram.getSoctraceOntology(Mainprogram.java:72)
at soctrace.Mainprogram.run(Mainprogram.java:39)
at soctrace.Mainprogram.main(Mainprogram.java:34)
Caused by: java.lang.ClassNotFoundException: com.clarkparsia.pellet.rules.ContinuousRulesStrategy
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 10 more
线程“main”java.lang.NoClassDefFoundError中的异常:com/clarkparsia/pellet/rules/continuousRulessStrategy 位于org.mindswap.pellet.jena.OWLReasoner。(OWLReasoner.java:90) 位于org.mindswap.pellet.jena.PelletInfGraph.(PelletInfGraph.java:146) 位于org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:78) 在com.hp.hpl.jena.ontology.impl.OntModelImpl.generateGraph(OntModelImpl.java:2744)上 位于com.hp.hpl.jena.ontology.impl.ontmodeleimpl.(ontmodeleimpl.java:139) 位于com.hp.hpl.jena.ontology.impl.ontmodeleimpl.(ontmodeleimpl.java:128) 在com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:410)上 位于soctrace.Mainprogram.getSoctraceOntology(Mainprogram.java:72) 运行(Mainprogram.java:39) 位于soctrace.Mainprogram.main(Mainprogram.java:34) 原因:java.lang.ClassNotFoundException:com.clarkparsia.pellet.rules.ContinuousRules策略 在java.net.URLClassLoader$1.run(URLClassLoader.java:217) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:205) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:321) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 10多 谢谢你的帮助

版本


我使用的是从下载的
pellet-1.3.zip
文件和从下载的
pellet.core.jar
文件,您能提供更多详细信息吗

您使用的小球版本是什么?您是否检查了作为源代码分发的一部分给出的示例?耶拿也有一些例子


除此之外,ContinuousRulessStrategy是com.clarkparsia.pellet.rules包的一部分。请检查是否已附上所有必需的JAR。

我已在问题中提供了更多详细信息。Pellet的最新版本是Pellet-2.3.0.zip(2011年8月22日),下载源代码的URL-。我认为你可以使用最新版本,除非有理由。