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文字列に変換するには、単にtoString()を使用するか、 do を使用しますmyRDFNode.asLiteral().getString()

于 2010-06-10T18:39:53.357 に答える