Estoy tratando de extraer RDF triples de archivos XML mediante el uso de una ontología existente. Estoy usando Java y puedo usar XPath para extraer datos de XML y Jena para leer y escribir documentos y ontologías RDF. ¿Cómo puedo extraer las tripletas relevantes del XML de acuerdo con la ontología existente?¿Cómo extraer RDF se triplica desde un archivo XML utilizando una ontología existente?
5
A
Respuesta
9
Olvídate de XPath para extraer triples, es mucho más fácil y menos problemático con Jena.
Puede usar la interfaz SimpleSelector
junto con model.listStatements
de Jena.
En este ejemplo, estoy usando SimpleSelector para encontrar todas las tripletas con una sola propiedad pero puede implementar cualquier búsqueda que necesite mediante la personalización del método 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());
}
Encontrará más información here.
Si describes un poco más sobre la ontología que estás utilizando y el tipo de búsqueda que necesitas, podríamos ayudarte más.
Cuestiones relacionadas
- 1. cargando rdf se triplica en virtuoso opensource
- 2. Escribiendo archivo RDF/XML desde rdf Triples en rdflib
- 3. ¿Hay una ontología RDF para blogs?
- 4. Extraer un elemento XML desde un archivo XML usando XPath
- 5. cómo extraer sinónimos de la ontología MeSH?
- 6. Extraer un subconjunto de archivo XML utilizando XSL
- 7. ¿Cómo se relacionan RDF y RDFS?
- 8. ¿Cómo se insertan XML en un nodo XML existente
- 9. cómo extraer bytes específicos de un archivo utilizando unix
- 10. ¿Cómo obtener RDF/XML anidado de Jena?
- 11. ¿Cómo extraer el archivo tar desde stdin?
- 12. cómo usar libxml2 para modificar un archivo xml existente?
- 13. Cómo cargar AnimationDrawable desde el archivo xml
- 14. Cómo editar el valor de un nodo de un archivo XML existente desde una tarjeta SD y guardarlo de nuevo?
- 15. Analizando un archivo RDF en python
- 16. Cómo consultar la ontología de recursos de dbpedia 'wikiPageExternalLink'
- 17. leer el archivo XML utilizando LINQ
- 18. Crear un archivo RDF usando un archivo txt como entrada
- 19. Extraer cadena de un archivo de texto utilizando 2 delimitadores
- 20. ¿Cómo puedo extraer un solo archivo de un archivo ZIP utilizando Perl's Archive :: Zip?
- 21. cómo extraer datos del archivo xml usando notepad ++?
- 22. intentar escribir en un archivo XML existente para C#
- 23. Cómo agregar una cadena Xml existente en un XElement
- 24. ¿Cómo crear una ontología en python?
- 25. ¿Cómo crear una ontología en Java?
- 26. Creando el archivo CMakeLists desde Makefile existente
- 27. Cómo crear una clase C# serializable desde el archivo XML
- 28. eliminar la cabecera XML desde un archivo XML en Java
- 29. La extracción de datos desde un simple archivo XML
- 30. Notación de N3 a RDF/XML
Algunas notas más sobre por qué [no usar XPath para trabajar con RDF o OWL] (http://stackoverflow.com/a/17052385/1281433) de una pregunta unos años después. –