使用 OWL API 解析内联函数语法公理

Parsing inline functional syntax axioms with OWL API

我需要解析一些在函数语法中表示为字符串的公理 为了添加到现有的 ontology 或与其公理进行比较。 (即将 'ObjectPropertyAssertion(:crosses :flow :line)' 之类的字符串转换为 OWLAxiom 对象)。

我知道 ManchesterOWLSyntaxParserImpl class 的 machester 语法可以使用 setStringToParse() 和 parseAxiom() 方法。

函数式解析器有模拟功能吗? 或者是否有第三方实现或示例可以轻松解析现有 ontology 之上的内联字符串?

该功能是曼彻斯特语法独有的,其他 OWLAPI 解析器不支持它。

但是,如果您希望解析的公理是自包含的(即,不需要前缀和声明来消除实体歧义),解决方法是将其包装在一个空的 ontology 中并解析它。

Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Ontology(<http://example.com/temp>
# add your axiom string here
)

然后只需检索所有公理并丢弃 ontology。