我正在制作一个可能需要大约 2-3 个 OWL 文件才能使用的应用程序,以便为同一应用程序提供不同的任务。我使用 Jena 作为我的语义网络框架。我的问题是:我们如何组织/设置这些 owl 文件?我应该读取同一数据集中的所有猫头鹰文件,还是应该为不同的猫头鹰维护不同的数据集。注意:我不考虑进口猫头鹰,因为它是由耶拿自己处理的。
如果我使用相同的数据集,我如何区分 OntModel.lisRootHierarchyClasses() 等函数获得的结果;和其他此类功能。当我将本体读入 OntModel 时,是否可以命名本体。
因此想知道在同一个应用程序中处理多个 OWL 文件的最佳实践
例如:我将我的本体读入由 TDB 数据集支持的 ontModel:
public static void loadModel(){
dataset.begin(ReadWrite.WRITE);
try{
ontModel = ModelToOntModel(model);
FileManager.get().readModel( ontModel, "SourceOwl1.owk");
FileManager.get().readModel( ontModel, "SourceOwl2.owl");
registerListener();
dataset.commit();
} catch (Exception e){
System.out.println("Error in Loading model from source!!");
e.printStackTrace();
} finally {
dataset.end();
}
}
一旦 ontmodel
准备就绪,用户输入会在任何 owl 文件中指定一个特定的类(例如:SourceOWL2_ClassA),我还需要处理它的对象属性和数据类型属性,并在相同的上下文中为用户提供一些信息。
但为了做到这一点,来自 SourceOWL1 的属性也会被列出,因此会导致错误。此外,SourceOWL1 和 SourceOWL2 的结构非常不同,其中 SourceOWL1 包含大约 3 个导入,而 SourceOWL2 不包含。