Java 如何:备份本体?

Java 如何:备份本体?,java,backup,ontology,Java,Backup,Ontology,我正在开发一个动态系统,它使用一个不太大的本体,根据接收到的信息做出正确的决策。我需要备份这个本体及其个体,以便系统在发生故障后可以恢复,但我不知道本体,也不知道它包含多少个体,因此备份需要尽可能通用 我更愿意调用一个函数,只是为了表明我的代码备份部分可以完成它的任务,而不是要求本体代码为每个单独的本体或个体调用一个方法 使用OWLAPI,这可能吗?我可以用一种通用的方式备份我的系统吗?您可以尝试使用它来支持持久性本体。 此外,您还需要决定存储本体的格式(XML、JSON等),例如,备份方法可以

我正在开发一个动态系统,它使用一个不太大的本体,根据接收到的信息做出正确的决策。我需要备份这个本体及其个体,以便系统在发生故障后可以恢复,但我不知道本体,也不知道它包含多少个体,因此备份需要尽可能通用

我更愿意调用一个函数,只是为了表明我的代码备份部分可以完成它的任务,而不是要求本体代码为每个单独的本体或个体调用一个方法

使用OWLAPI,这可能吗?我可以用一种通用的方式备份我的系统吗?

您可以尝试使用它来支持持久性本体。 此外,您还需要决定存储本体的格式(XML、JSON等),例如,备份方法可以从每个语义实体中创建XML。您可以使用//来实现这一点(Java到XML/JSON)。 祝你好运

您可以尝试使用它来支持持久性本体。 此外,您还需要决定存储本体的格式(XML、JSON等),例如,备份方法可以从每个语义实体中创建XML。您可以使用//来实现这一点(Java到XML/JSON)。
祝你好运

当你说你不知道本体时,你是指它的结构吗?你目前是如何存储本体的?e、 g.在内存中(当程序开始运行时,类被加载,或者您是否从静态文件中读取一些配置,然后基于此配置创建本体?@Keyser嗯,我需要备份服务完全独立于本体。所以,是的,这基本上就是我要说的。我可以使用publicvidbackup(owlont){…}方法,然后使用owlapi中的save/write-to-file方法成功地进行备份吗?这样,想要启动备份的服务只需调用一个方法。@如果本体还不存在,我可以制作一个虚拟的方法来测试我的备份服务,但它需要能够备份任何本体。可以工作。您需要决定存储本体的格式(XML、JSON等),例如,备份方法可以从每个语义实体中创建一个XML,您可以使用JAXB/XStream/gson来实现这一点(Java到XML/JSON),你是指它的结构吗?你目前是如何存储本体的?e、 g.在内存中(当程序开始运行时,类被加载,或者您是否从静态文件中读取一些配置,然后基于此配置创建本体?@Keyser嗯,我需要备份服务完全独立于本体。所以,是的,这基本上就是我要说的。我可以使用publicvidbackup(owlont){…}方法,然后使用owlapi中的save/write-to-file方法成功地进行备份吗?这样,想要启动备份的服务只需调用一个方法。@如果本体还不存在,我可以制作一个虚拟的方法来测试我的备份服务,但它需要能够备份任何本体。可以工作。您需要决定存储本体的格式(XML、JSON等),然后,例如,备份方法可以从您可以使用JAXB/XStream/gson实现的每个语义实体中创建XML(Java到XML/JSON)。非常感谢!现在,当你指的是“语义实体”时,你指的是每个个体/公理等?因此,基本上,当我的备份获得OWLOntology对象时,它需要分解本体,然后将其解析为xml/json等结构化格式,以便将来更容易恢复它?是的。您需要有一个本体的根,并且在它下面有不同的类型。因此,备份过程将从每个实体的根递归扫描,然后创建其XML/JSON表示,并将用于备份的XML/JSON文件附加到一个大文件中。或者,使用Jena API,它具有所描述的开箱即用的功能。非常感谢,我将尝试这两种方法,看看当整个系统投入使用时,哪种方法最容易管理。非常感谢!现在,当你指的是“语义实体”时,你指的是每个个体/公理等?因此,基本上,当我的备份获得OWLOntology对象时,它需要分解本体,然后将其解析为xml/json等结构化格式,以便将来更容易恢复它?是的。您需要有一个本体的根,并且在它下面有不同的类型。因此,备份过程将从每个实体的根递归扫描,然后创建其XML/JSON表示,并将用于备份的XML/JSON文件附加到一个大文件中。或者,使用Jena API,它具有所描述的开箱即用的功能。非常感谢,我将尝试这两种方法,看看当整个系统投入使用时,哪种方法最容易管理。