有没有办法将OWL公理转换成曼彻斯特语法?我知道OWL-API将允许您将曼彻斯特语法中的一个句子解析为OWL函数语法,但我需要做的正好相反。
非常感谢你给我指明了正确的方向,这就是我解决问题的方法。
公共静态void main(String[]args)引发ParserException,OWLOntologyCreationException{
File file=new File("ontology/pizza.owl");
OWLOntologyManager manager;
OWLOntology localOntology=null;
OWLDataFactory factory ;
try {
//loading the ontology
manager=OWLManager.createOWLOntologyManager();
try {
localOntology = manager.loadOntologyFromOntologyDocument(file);
} catch (OWLOntologyCreationException e) {
e.printStackTrace();
}
factory = localOntology.getOWLOntologyManager().getOWLDataFactory();
OWLOntologyFormat format = manager.getOntologyFormat(localOntology);
System.out.println(" format: " + format);
ManchesterOWLSyntaxOntologyFormat manSyntaxFormat = new ManchesterOWLSyntaxOntologyFormat();
if(format.isPrefixOWLOntologyFormat()) {
manSyntaxFormat.copyPrefixesFrom(format.asPrefixOWLOntologyFormat());
}
manager.setOntologyFormat(localOntology, manSyntaxFormat);
manager.saveOntology(localOntology, manSyntaxFormat);
System.out.println("Manchester syntax: --- saved in Manchester.owl");
ManchesterOWLSyntaxOWLObjectRendererImpl rendering = new ManchesterOWLSyntaxOWLObjectRendererImpl();
OWLClass c1 = factory.getOWLClass(IRI.create("http://www.co-ode.org/ontologies/pizza/pizza.owl#IceCream"));
Set<OWLClassExpression> c1eqclasses = c1.getEquivalentClasses(localOntology);
for(OWLClassExpression c1e : c1eqclasses)
System.out.println("Equivalent: "+rendering.render(c1e));
c1eqclasses = c1.getDisjointClasses(localOntology);
for(OWLClassExpression c1e : c1eqclasses)
System.out.println("Disjoint: "+rendering.render(c1e));
c1eqclasses = c1.getSubClasses(localOntology);
for(OWLClassExpression c1e : c1eqclasses)
System.out.println("Subclass: "+rendering.render(c1e));
c1eqclasses = c1.getSuperClasses(localOntology);
for(OWLClassExpression c1e : c1eqclasses)
System.out.println("Superclass: "+rendering.render(c1e));
}
catch (OWLOntologyStorageException e) {
System.out.println("Could not save ontology: " + e.getMessage());
}
}
我想知道是否有可能通过这样的表达式:
我正在用Java编写一个利用OWL API 3.1.0版的程序。我有一个表示一个使用曼彻斯特OWL语法的公理,我想在对象中转换这个字符串,因为我需要使用方法(它是的方法)将结果公理添加到一个本体中。我怎么能那样做?
我想用C#将一个自定义的公历日期转换为波斯日期。例如,我有一个包含以下内容的字符串: 现在我想拥有: 串PersianDate=2 1392; 或 字符串PersianDate=1392/08/02 谢谢
我知道这个问题被问了很多次,但我没有找到正确的方法。我有一个日期,比如01-08-1994。我想把它转换成日期。使用。
问题内容: 我有以下格式的公钥 我需要将其转换为以下格式 基本上,问题是我正在使用用Java编写的第三方库。 第三方库使用Java类“ RSAPublicKeySpec”从字符串生成RSAPublicKey类型的实例。 我提供给该第三方库的字符串取自以下格式的文件: 仔细研究一下代码之后,我可以看到,如果我使用java类“ X509EncodedKeySpec”来加载此公共密钥,则代码的签名验证部