私のオントロジーには、" " というクラスがあり、" festival
" というプロパティ値がありますCRISTMAS
。文字列型の値です。Jena OWL API を使用してこの値を取得するにはどうすればよいですか?
質問する
3504 次
2 に答える
1
クラスにインスタンスがあり、このインスタンスのプロパティの値は文字列だと思います。
その場合は、次の手順を実行します。
OntModel を作成し、ファイルを読み込みます。
OntModel ontModel = ModelFactory.createOntologyModel( OntModelSpec.XXX); ontModel.read(file:xxx);
クラスとプロパティを取得します。
OntClass iClass =ontModel.getOntClass(className); OntProperty iProperty= ontModel.getOntProperty(propertyName);
インスタンスを取得して文字列を出力します。
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
オントロジーを にロードします
OntModel
。私はあなたがすでにそれをしたと仮定します。の
getProperty(String uri)
メソッドを使用OntModel
してプロパティを取得します。の
getOntClass(String uri)
メソッドを使用しOntModel
て、クラスを取得します。を返しますOntClass
。getPropertyValue(Property property)
のメソッドを使用しOntClass
て値を取得します。を返しますRDFNode
。を
RDFNode
文字列に変換するには、単にtoString()
を使用するか、 do を使用しますmyRDFNode.asLiteral().getString()
。
于 2010-06-10T18:39:53.357 に答える