Publicado el :

Prueba de integración SPARQL local con SAS-SPARQLwrapper

Este código también está disponible en: Deutsch English Français
En espera de validación
El script comienza configurando las opciones de registro para las macros e incluye la definición de las macros de 'sparqlquery.sas©'. Luego utiliza la macro `%sparqlupdate` para insertar un conjunto de siete títulos de libros en un grafo SPARQL específico (`http://example/bookStore`) en un servidor local (`localhost:8890`). Después de la inserción, se llama a la macro `%sparqlquery` para ejecutar una consulta `SELECT *` para recuperar todos los títulos previamente añadidos. Los resultados de esta consulta se almacenan en una tabla SAS© llamada 'query'. Finalmente, se utiliza `PROC PRINT` para mostrar el contenido de esta tabla 'query', permitiendo verificar que la inserción y recuperación de datos fueron exitosas.
Análisis de datos

Type : EXTERNE


Los datos se gestionan directamente dentro de un endpoint SPARQL externo, accesible a través de `http://localhost:8890/sparql/`. El script procede a la 'creación' de estos datos mediante una instrucción `INSERT DATA` SPARQL y a su recuperación mediante una instrucción `SELECT *` SPARQL. Aunque el script inicia la creación de los datos, estos residen en una base de datos de terceros, lo que los convierte en una fuente externa desde el punto de vista de SAS.

1 Bloque de código
Configuración e inclusión de macros
Explicación :
Este bloque configura las opciones SAS para mostrar los registros de las ejecuciones de macros (`mprint`, `mlogic`) e incluye el archivo 'sparqlquery.sas', que contiene las definiciones de las macros `%sparqlupdate` y `%sparqlquery` necesarias para interactuar con un endpoint SPARQL.
¡Copiado!
1options mprint mlogic nocenter;
2%include "sparqlquery.sas";
3 
2 Bloque de código
Macro %sparqlupdate Data
Explicación :
Llamada a la macro `%sparqlupdate` para enviar una instrucción SPARQL `INSERT DATA` al endpoint especificado. Esta instrucción añade siete tripletas (que representan libros con sus títulos) en el grafo `<http://example/bookStore>` de la base de datos SPARQL. El parámetro `debug=Y` activa el registro detallado de la ejecución.
¡Copiado!
1%sparqlupdate(
2endpoint=http://localhost:8890/sparql/update,
3update=%str(
4PREFIX dc: 1.1/>
5INSERT DATA
6{
7GRAPH {
8 dc:title "A new book 1" .
9 dc:title "A new book 2" .
10 dc:title "A new book 3" .
11 dc:title "A new book 4" .
12 dc:title "A new book 5" .
13 dc:title "A new book 6" .
14 dc:title "A new book 7" .
15}
16}
17),
18resultdsn=updateresult,
19debug=Y
20);
3 Bloque de código
Macro %sparqlquery
Explicación :
Ejecución de una consulta SPARQL `SELECT *` a través de la macro `%sparqlquery`. Esta consulta tiene como objetivo recuperar todos los sujetos (`?s`) y sus títulos (`?o`) del grafo, correspondientes a los datos insertados previamente. Los resultados se almacenan en la tabla SAS `query` para su uso posterior en SAS.
¡Copiado!
1%sparqlquery(
2endpoint=http://localhost:8890/sparql/query,
3query=%str(
4PREFIX dc: 1.1/>
5SELECT *
6{
7 ?s dc:title ?o .
8}
9 ),
10querymethod=queryGET,
11resultdsn=query,
12sparqlquerysxlemap=%str(sparqlquery-sxlemap.map),
13debug=Y
14);
4 Bloque de código
PROC PRINT
Explicación :
El procedimiento `PROC PRINT` se utiliza para mostrar el contenido de la tabla SAS `query`. Esto permite visualizar los resultados de la consulta SPARQL y confirmar que los datos se recuperaron correctamente del endpoint externo.
¡Copiado!
1PROC PRINT DATA=query width=min;
2RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Program : example-localhost-virtuoso-01.sas Purpose : Basic test of SAS-SPARQLwrapper using a query and local server