RDF / XML Jena getValue

Necesito ayuda para obtener información del RDF con Jena Framework. Tengo un contenido RDF como este:

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ts="http://www.test.com/testModel.owl#">  
<ts:Entity rdf:ID="1234_test"> 
 <....>
</ts>
</rdf:RDF>

Ahora mi idea es sacar la identificación de ts: Entity. Este es mi código:

Model model = ModelFactory.createDefaultModel();
InputStream requestBody = new ByteArrayInputStream(request.getBytes());
String BASE = "http://www.test.com/testModel.owl#";
model.read(requestBody,BASE);
requestBody.close();

StmtIterator iter = model.listStatements();
 while (iter.hasNext()) {

        Statement stmt      = iter.nextStatement();  // get next statement
        Resource  subject   = stmt.getSubject();     // get the subject
        Property  predicate = stmt.getPredicate();   // get the predicate
        RDFNode   object    = stmt.getObject();      // get the object

            System.out.println(subject + " | "+predicate);

     }

El único problema, en ese caso, es que tengo que desplazar toda la Declaración. Hay una manera de obtener la identificación directa de ts: Entity? Tal vez antes de obtener el recurso y después del valor de la ID relacionada con ese recurso.

Gracias por adelantado por ayudar.


Lo siento, estoy nuevamente aquí, porque tengo una pregunta similar, si por ejemplo tengo este rdf:

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:ts="http://www.test.com/testModel.owl#">  
<ts:Entity rdf:ID="1234_test"> 
   <ts:Resource> 
       <ts:testProp rdf:datatype="http://www.w3.org/2001/XMLSchema#string">test_ID_test</ts:testProp>
 </ts>
</ts>
</rdf:RDF>

¿Cómo puedo extraer el valor test_ID_test ??? Y si quiero usar SPARQL, ¿cómo puedo hacer con jena?

Respuesta 1

Qué tal si:

Resource ENTITY_TYPE = model.getResource("http://www.test.com/testModel.owl#Entity");
StmtIterator iter = model.listStatements(null, RDF.type, ENTITY_TYPE);
while (iter.hasNext()) {
    String entityID = iter.next().getSubject().getURI();
    System.out.println(entityID);
}

Eso obtendrá el URI de cada entidad.

Respuesta: 2

Estoy aprendiendo Java y me detuve en un ejercicio de autocomprobación escribiendo una función recursiva que imprime una cadena hacia atrás ... Entiendo el error del compilador pero no estoy seguro de qué hacer al respecto. Mi código... ...

En la especificación del lenguaje dice: las variables locales definitivamente se establecen antes de su uso. Si bien todas las demás variables se inicializan automáticamente a un valor predeterminado, el lenguaje de programación Java sí ...

Estoy tratando de llamar a una función de JavaScript almacenada desde el controlador Java MongoDB. He estado siguiendo esta guía para almacenar la función en el servidor DB y puedo llamar a la función desde el mongo ...

¿Es posible que el hilo 2 imprima "x = 0"? int x = 0; boolean bExit = falso; Hilo 1 (no sincronizado) x = 1; bExit = verdadero; Hilo 2 (no sincronizado) si (bExit == true) System.out.println ("x = ...