4

我正在使用本体来识别用户活动......我有一个本体(OWL),由我将使用的各种类以及对象属性组成......

我是本体的新手,即使在阅读了很多关于它之后也感到困惑......
我的理解是一个类是使用各种属性与另一个类相关的定义......所以无论如何我可以检查对象是否一个特定的类无论如何都与另一个类相关..我想问的是如何检查 ABox 是否与本体的术语部分一致(我理解的 TBox).....

我已经使用 protege 来制作我的本体,还尝试使用 jena 和pellet reasoner 以及它的 GUI 版本 SWOOP 来检查一致性.....

我完全糊涂了,不知道该用什么……

4

3 回答 3

2

SWOOP 已经过时了,如果你要使用 GUI,我建议你坚持使用 Protoge 4。有关使用 Pellet 的信息,网上有一个很好的教程

如果您打算以编程方式使用 OWL,我建议使用 OWLAPI 而不是 Jena。Jena 是一个更加以 RDF 为中心的 API,而 OWLAPI 是为 OWL 设计的,所以当你做 OWL 相关的事情时,你会发现它更容易使用。也就是说,耶拿更具特色。

于 2012-01-26T13:54:53.510 回答
0

我之前使用过 Jena API 来处理 Protege 创建的本体。耶拿是,诚然令人困惑。但是,这些是我用来帮助解决问题的资源:

为了弄清楚它是如何工作的,我们创建了一个非常简单的 OWL 文件并使用 Jena 编写了一些 Java 来查看我们如何能够获得我们需要的东西。代码是一次性的,但它让我们能够在理想化的环境中了解一些关于 OWL 文件和 Jena API 的知识。

于 2011-12-16T20:46:34.693 回答
0

这是使用 Java OWL API 执行一致性检查的方法:

/*Load your ontology from a local file and do the initialisations*/
File inputfile = new File("ontologyPath");
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); ;
OWLDataFactory dataFactory = manager.getOWLDataFactory();
OWLOntology yourOntology = manager.loadOntologyFromOntologyDocument(inputfile);
IRI ontologyIRI = yourOntology.getOntologyID().getOntologyIRI();  

/* Load a reasoner, the default one that comes with the OWL API is HermiT.
   However, You can use other reasoners, such as Fact++ or Pellet, by 
   downloading their libraries and adding them to your project build path */ 
OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();
OWLReasonerreasoner = reasonerFactory.createReasoner(yourOntology);

/* Perform consistency check */ 
boolean consistency = reasoner.isConsistent();

还可以查看OWL API网站上的示例。

贝尔坎

于 2013-05-03T09:41:53.747 回答