1

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

4

2 回答 2

1

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

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

  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());
    }   
    
于 2011-07-08T01:05:25.687 回答
0
  1. 将您的本体加载到OntModel. 我假设你已经这样做了。

  2. 使用 的getProperty(String uri)方法OntModel来检索属性。

  3. 使用 的getOntClass(String uri)方法OntModel来检索类。它返回一个OntClass.

  4. 使用 的getPropertyValue(Property property)方法OntClass获取值。它返回一个RDFNode.

  5. 要将RDFNode转换为字符串,请使用 simpletoString()或 do myRDFNode.asLiteral().getString()

于 2010-06-10T18:39:53.357 回答