我有一个 owl 文件,我需要编写一个 java 程序,在其中传递个人名称(例如 Lion)并从 owl 获取与此个人相关的所有对象/数据属性值(例如:Golden
从has_color
对象属性等) .
我基于最简单的 api 编写了一个 java 类uk.ac.ebi.brain.core.Brain
,但是这个 API 没有列出个人信息的方法。那么还有其他简单的方法可以满足我的需求吗?
在下面的示例中,我正在检索主类的子类Animal
,但我不知道如何检索每个子类的个体,甚至不知道如何通过个体名称来获取该个体的对象/数据属性:
import edu.stanford.smi.protegex.owl.model.OWLIndividual;
import java.util.List;
import java.util.Set;
import org.semanticweb.owlapi.model.OWLAnonymousIndividual;
import org.semanticweb.owlapi.model.OWLObjectProperty;
import uk.ac.ebi.brain.core.Brain;
import uk.ac.ebi.brain.error.BrainException;
public class AnimalIndividuals {
public static void main(String[] args) throws BrainException {
Brain brain = new Brain();
brain.learn("d:\\Animal.owl");
List<String> subClasses = brain.getSubClasses("Animal", false);
for (String subClass : subClasses) {
System.out.println("Subclass of Animal: " + subClass);
}
brain.sleep();
}
}