Sat*_*mar 5 java rdf semantic-web owl jena
我试图通过使用现有的本体从XML文件中提取RDF三元组.我正在使用Java,并且可以使用XPath从XML和Jena中提取数据来读取和写入RDF文档和本体.如何根据现有本体从XML中提取相关的三元组?
忘掉XPath来提取三元组,这对Jena来说更简单,更少问题.
您可以SimpleSelector与model.listStatementsJena 一起使用该界面.
在这个例子中,我使用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());
}
Run Code Online (Sandbox Code Playgroud)
你会在这里找到更多信息.
如果您更多地描述您正在使用的本体以及您需要的搜索类型,我们可能会提供更多帮助.
| 归档时间: |
|
| 查看次数: |
2897 次 |
| 最近记录: |