Protégé - OWL
                 SPARQL




                                 http://www.w3.org/TR/rdf-sparql-query/

http://ontologias.blogs.upv.es
Protégé - OWL
                 SPARQL




                                 http://www.w3.org/TR/rdf-sparql-query/

http://ontologias.blogs.upv.es
SPARQL
SPARQL Protocol And RDF Query Language
3 especificaciones separadas:
   Lenguaje de queries.
   Formato XML de resultados de queries.
   Protocolo de acceso a los datos.
SPARQL: Patrones
 Se basa en casar patrones de tripletas con
 tripletas RDF.
    sujeto predicado objeto .

 Patrón básico:
    Secuencia de patrones de tripletas unido por un punto.
    Conjunción de sus patrones de tripletas.
    Ej.: ?x foaf:name ?name . ?x foaf:mbox ?mbox


 Patrón para instancias: predicado a (Ej.: ?s a ?o )
SPARQL: Queries
Declaraciones de prefijos:
abreviar URIs.
                                  #declaración prefijo
                                  PREFIX foo: <http://example.com/resources/>
Definición de datasets: indicar    ...
grafos RDF a interrogar.          #definición del dataset
                                  FROM ...
                                  #cláusula resultado
Cláusula resultado, indicar qué   SELECT ...
debe devolver la query.           #patrón del query
                                  WHERE {
                                  ...
Patrón de query, especificar lo    }
que se pide del dataset.          #modificadores del query
                                  ORDER BY ...

Modificadores de query, partir,
ordenar y reunir resultados.
SPARQL: Protégé
Vars. empiezan con un ?
y pueden ser cualquier
nodo (recurso o literal)
en el RDF dataset.

Cualquier parte de una
tripleta RDF puede ser
reemplazada con una var.

Resultado del SELECT:
tabla de vars. y valores
que satisfacen la query.
SPARQL: Formas

 SELECT * devuelve enlaces a todas
 las vars. mencionadas en la query.
 CONSTRUCT devuelve un grafo RDF.
 ASK devuelve si un patrón de grafo
 tiene o no solución.
SPARQL:
Restricciones en vars.
DISTINCT : elimina resultados duplicados.

FILTER:

    Sólo los results. que la exp. se evalúa a cierto.
                                                           PREFIX dc: <http://purl.org/dc/elements/1.1/>
    Expresiones Booleanas.                                 PREFIX ns: <http://example.org/ns#>
                                                           SELECT DISTINCT ?title ?price
    regex:
                                                           WHERE { ?x ns:price ?price .
          leng. de expres. regs. def. en XQuery 1.0            FILTER (?price < 30.5)
          and XPath 2.0                                    ?x dc:title ?title . }

          Logicas (!, &&, ||), Matemáticas (+, -, *, /),   PREFIX dc: <http://purl.org/dc/elements/1.1/>
          Comparación ( =, !=, >, <)
                                                           SELECT ?title
          Tests: isURI, isBlank, isLiteral, bound          WHERE { ?x dc:title ?title
                                                               FILTER regex(?title, "^SPARQL")     }
          str, lang, datatype

          Params. deben ser string.

          Tercer parám. opcional: indistinto a
          mayúsc./minúsc. “i”
SPARQL:
Patrones Opcionales
A veces no se puede
asumir que se dispondrá
de toda la información en
todos los grafos RDF.
                            PREFIX foaf: <http://xmlns.com/foaf/0.1/>
                            SELECT ?name ?mbox
Patrones Opcionales:        WHERE { ?x foaf:name ?name .
                                OPTIONAL { ?x foaf:mbox ?mbox }
permiten añadir               }

información tan sólo si
está disponible.

OPTIONAL
SPARQL:
Patrones Alternativos


Disyunción.   PREFIX dc10: <http://purl.org/dc/elements/1.0/>
              PREFIX dc11: <http://purl.org/dc/elements/1.1/>
              SELECT ?title
              WHERE { { ?book dc10:title ?title }
UNION                 UNION
                     { ?book dc11:title ?title }}
Ejercicios
Crear una ontología en Protégé
formada por 4 ficheros de noticias
de los almacenados por los grupos
de clase en el blog.
Combinar toda la información
guardándola en local, por medio de
la opción de menú Refactor/
Merge ontologies...
SPARQL: Ejercicios
  Extraer de manera incremental:
  1.   Todas las instancias de tu ontología, sin repetición.
  2.   Las cabeceras de todos los artículos almacenados.
  3.   El cuerpo de todos los artículos almacenados.
  4.   El creador o el editor de la noticia.
  5.   Modificar la opción anterior para que sólo sea si
       existe el creador o el editor. Si no, que no aparezca
       dicha información, pero sí la noticia.
  6.   Quedaros sólo con aquellas noticias de “El País”.
  7.   Reducir a aquellas que hacen referencia a Estados
       Unidos.
Aplicaciones: NYT
 http://developer.nytimes.com/
 http://open.blogs.nytimes.com/2010/03/30/
 build-your-own-nyt-linked-data-application/
 http://prototype.nytimes.com/gst/apitool/
 index.html?
 api_id=0&request_id=0&query=obama&facets=&
 begin_date=&fields=&offset=&rank=newest&resp
 _format=json&perform_request=Make
 +Request&use_pp=on
 http://open.blogs.nytimes.com/2012/12/10/
 timesopen-2012-hack-day-wrap-up/

Diseño de Ontologías: Protégé - OWL: SPARQL

  • 1.
    Protégé - OWL SPARQL http://www.w3.org/TR/rdf-sparql-query/ http://ontologias.blogs.upv.es
  • 2.
    Protégé - OWL SPARQL http://www.w3.org/TR/rdf-sparql-query/ http://ontologias.blogs.upv.es
  • 3.
    SPARQL SPARQL Protocol AndRDF Query Language 3 especificaciones separadas: Lenguaje de queries. Formato XML de resultados de queries. Protocolo de acceso a los datos.
  • 4.
    SPARQL: Patrones Sebasa en casar patrones de tripletas con tripletas RDF. sujeto predicado objeto . Patrón básico: Secuencia de patrones de tripletas unido por un punto. Conjunción de sus patrones de tripletas. Ej.: ?x foaf:name ?name . ?x foaf:mbox ?mbox Patrón para instancias: predicado a (Ej.: ?s a ?o )
  • 5.
    SPARQL: Queries Declaraciones deprefijos: abreviar URIs. #declaración prefijo PREFIX foo: <http://example.com/resources/> Definición de datasets: indicar ... grafos RDF a interrogar. #definición del dataset FROM ... #cláusula resultado Cláusula resultado, indicar qué SELECT ... debe devolver la query. #patrón del query WHERE { ... Patrón de query, especificar lo } que se pide del dataset. #modificadores del query ORDER BY ... Modificadores de query, partir, ordenar y reunir resultados.
  • 6.
    SPARQL: Protégé Vars. empiezancon un ? y pueden ser cualquier nodo (recurso o literal) en el RDF dataset. Cualquier parte de una tripleta RDF puede ser reemplazada con una var. Resultado del SELECT: tabla de vars. y valores que satisfacen la query.
  • 7.
    SPARQL: Formas SELECT* devuelve enlaces a todas las vars. mencionadas en la query. CONSTRUCT devuelve un grafo RDF. ASK devuelve si un patrón de grafo tiene o no solución.
  • 8.
    SPARQL: Restricciones en vars. DISTINCT: elimina resultados duplicados. FILTER: Sólo los results. que la exp. se evalúa a cierto. PREFIX dc: <http://purl.org/dc/elements/1.1/> Expresiones Booleanas. PREFIX ns: <http://example.org/ns#> SELECT DISTINCT ?title ?price regex: WHERE { ?x ns:price ?price . leng. de expres. regs. def. en XQuery 1.0 FILTER (?price < 30.5) and XPath 2.0 ?x dc:title ?title . } Logicas (!, &&, ||), Matemáticas (+, -, *, /), PREFIX dc: <http://purl.org/dc/elements/1.1/> Comparación ( =, !=, >, <) SELECT ?title Tests: isURI, isBlank, isLiteral, bound WHERE { ?x dc:title ?title FILTER regex(?title, "^SPARQL") } str, lang, datatype Params. deben ser string. Tercer parám. opcional: indistinto a mayúsc./minúsc. “i”
  • 9.
    SPARQL: Patrones Opcionales A vecesno se puede asumir que se dispondrá de toda la información en todos los grafos RDF. PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?mbox Patrones Opcionales: WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox } permiten añadir } información tan sólo si está disponible. OPTIONAL
  • 10.
    SPARQL: Patrones Alternativos Disyunción. PREFIX dc10: <http://purl.org/dc/elements/1.0/> PREFIX dc11: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE { { ?book dc10:title ?title } UNION UNION { ?book dc11:title ?title }}
  • 11.
    Ejercicios Crear una ontologíaen Protégé formada por 4 ficheros de noticias de los almacenados por los grupos de clase en el blog. Combinar toda la información guardándola en local, por medio de la opción de menú Refactor/ Merge ontologies...
  • 12.
    SPARQL: Ejercicios Extraer de manera incremental: 1. Todas las instancias de tu ontología, sin repetición. 2. Las cabeceras de todos los artículos almacenados. 3. El cuerpo de todos los artículos almacenados. 4. El creador o el editor de la noticia. 5. Modificar la opción anterior para que sólo sea si existe el creador o el editor. Si no, que no aparezca dicha información, pero sí la noticia. 6. Quedaros sólo con aquellas noticias de “El País”. 7. Reducir a aquellas que hacen referencia a Estados Unidos.
  • 13.
    Aplicaciones: NYT http://developer.nytimes.com/ http://open.blogs.nytimes.com/2010/03/30/ build-your-own-nyt-linked-data-application/ http://prototype.nytimes.com/gst/apitool/ index.html? api_id=0&request_id=0&query=obama&facets=& begin_date=&fields=&offset=&rank=newest&resp _format=json&perform_request=Make +Request&use_pp=on http://open.blogs.nytimes.com/2012/12/10/ timesopen-2012-hack-day-wrap-up/