获取语​​义属性的字符串值

时间:2010-06-10 09:18:17

标签: java jena protege

在我的本体论中,我有一个名为“festival”的类,它具有名为“CRISTMAS”的属性值。这是一个字符串类型的值。如何使用Jena OWL API获取此值?

2 个答案:

答案 0 :(得分:1)

我猜你在类中有一个实例,这个实例的属性值是一个String。

如果是,请执行以下步骤:

  1. 创建OntModel并读取文件。

    OntModel ontModel = ModelFactory.createOntologyModel( OntModelSpec.XXX);
    ontModel.read(file:xxx);
    
  2. 获取课程和财产:

    OntClass iClass =ontModel.getOntClass(className);
    OntProperty iProperty= ontModel.getOntProperty(propertyName);
    
  3. 获取实例并输出字符串:

    for (ExtendedIterator<? extends OntResource> it= iClass.listInstances(true);it.hasNext();) {
        Individual ins = (Individual) it.next();
    
        RDFNode iValue = ins.getPropertyValue(iProperty);
    
        System.out.println(iValue.toString());
    }   
    

答案 1 :(得分:0)

  1. 将您的本体加载到OntModel。我假设你已经这样做了。

  2. 使用getProperty(String uri)的{​​{1}}方法检索该属性。

  3. 使用OntModel的{​​{1}}方法检索课程。它返回getOntClass(String uri)

  4. 使用OntModel的{​​{1}}方法获取值。它返回OntClass

  5. 要将getPropertyValue(Property property)转换为字符串,请使用OntClassRDFNode