How to extract RDF triples from an XML file using an existing ontology?

I am trying to extract RDF triples from XML files using an existing ontology. I use Java and can use XPath to extract data from XML and Jena to read and write RDF documents and ontologies. How can I extract the corresponding triples from XML in accordance with the existing ontology?

+5
source share
1 answer

Forget XPath for extracting triples, it's easier and less problematic with Jena.

You can use the interface SimpleSelectorwith model.listStatementsfrom Jena.

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());
}

.

, , , , .

+9

All Articles