5

既存のオントロジーを使用して、XMLファイルからRDFトリプルを抽出しようとしています。私はJavaを使用しており、XPathを使用してXMLからデータを抽出し、Jenaを使用してRDFドキュメントとオントロジーを読み書きできます。既存のオントロジーに従って、XMLから関連するトリプルを抽出するにはどうすればよいですか?

4

1 に答える 1

9

XPath を使用してトリプルを抽出することは忘れてください。Jena を使用すると、はるかに簡単になり、問題も少なくなります。

JenaSimpleSelectorと一緒にインターフェースを使用できます。model.listStatements

この例では、SimpleSelector を使用して単一のプロパティを持つすべてのトリプルを検索していますが、メソッドをカスタマイズすることで、必要な検索を実装できますselects

FileManager fManager = FileManager.get();
Model model = fManager.loadModel("some_file.rdf");

Property someRelevantProperty = 
    model. createProperty("http://your.data.org/ontology/",
                          "someRelevantProperty");

SimpleSelector selector = new SimpleSelector(null, null, (RDFNode)null) {
    public boolean selects(Statement s)
        { return s.getPredicate().equals(someRelevantProperty);}
}

StmtIterator iter = model.listStatements(selector);
while(it.hasNext()) {
   Statement stmt = iter.nextStatement();
   System.out.print(stmt.getSubject().toString());
   System.out.print(stmt.getPredicate().toString());
   System.out.println(stmt.getObject().toString());
}

詳細については、こちらをご覧ください。

使用しているオントロジーと必要な検索の種類をもう少し説明していただければ、さらに役立つ可能性があります。

于 2011-04-14T20:58:15.280 に答える