目前我正在使用Jena解决本体文件,但找不到删除类的方法。我想做类似的事情:
public static OntModel deleteClass(OntModel m,String ClassName,String Namespace) throws FileNotFoundException{
OntClass rmClass = m.remove(Namespace + ClassName);
return m;
}
感谢。
答案 0 :(得分:2)
OntClass
继承自OntResource
,它公开了.remove()
方法(和many others)。
所以你的代码是:
OntModel m = .... ; // your model
OntClass c = m.getOntClass( NAMESPACE + className );
c.remove();
另外两个小问题:
如果您使用了大量静态方法,请考虑您的代码中是否有正确的抽象。静态方法可能很有用,但创建和操作对象应该是编写优秀Java代码的默认方式
如果您坚持使用标准的Java约定,通常会更好。您使用了Namespace
和ClassName
个变量 - 如果这些变量是变量,则应以小写字母(namespace
,className
)开头;如果他们的常数使用全部大写字母(NAMESPACE
,CLASS_NAME
)。