Top Banner
Protégé - OWL SPARQL http://www.w3.org/TR/rdf-sparql-query/ http://ontologias.blogs.upv.es
13

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

Jun 15, 2015

Download

Documents

Práctica de introducción a SPARQL con Protégé OWL 4.2 beta para la asignatura Diseño de ontologías, en el master de gestión de la información de la UPV
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Diseño de Ontologías: Protégé - OWL: SPARQL

Protégé - OWLSPARQL

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

http://ontologias.blogs.upv.es

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

Protégé - OWLSPARQL

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

http://ontologias.blogs.upv.es

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

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.

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

SPARQL: PatronesSe 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 )

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

SPARQL: QueriesDeclaraciones de prefijos: abreviar URIs.

Definición de datasets: indicar grafos RDF a interrogar.

Cláusula resultado, indicar qué debe devolver la query.

Patrón de query, especificar lo que se pide del dataset.

Modificadores de query, partir, ordenar y reunir resultados.

#declaración prefijoPREFIX foo: <http://example.com/resources/>...#definición del datasetFROM ...#cláusula resultadoSELECT ...#patrón del queryWHERE {...}#modificadores del queryORDER BY ...

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

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.

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

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.

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

SPARQL: Restricciones en vars.

DISTINCT : elimina resultados duplicados.

FILTER:

Sólo los results. que la exp. se evalúa a cierto.

Expresiones Booleanas.

regex:

leng. de expres. regs. def. en XQuery 1.0 and XPath 2.0

Logicas (!, &&, ||), Matemáticas (+, -, *, /), Comparación ( =, !=, >, <)

Tests: isURI, isBlank, isLiteral, bound

str, lang, datatype

Params. deben ser string.

Tercer parám. opcional: indistinto a mayúsc./minúsc. “i”

PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT DISTINCT ?title ?price WHERE { ?x ns:price ?price . FILTER (?price < 30.5) ?x dc:title ?title . }

PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?titleWHERE { ?x dc:title ?title FILTER regex(?title, "^SPARQL") }

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

SPARQL: Patrones OpcionalesA veces no se puede asumir que se dispondrá de toda la información en todos los grafos RDF.

Patrones Opcionales: permiten añadir información tan sólo si está disponible.

OPTIONAL

PREFIX foaf: <http://xmlns.com/foaf/0.1/>SELECT ?name ?mbox WHERE { ?x foaf:name ?name . OPTIONAL { ?x foaf:mbox ?mbox } }

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

SPARQL: Patrones Alternativos

Disyunción.

UNION

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 { ?book dc11:title ?title }}

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

EjerciciosCrear 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...

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

SPARQL: EjerciciosExtraer 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.

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

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/

Aplicaciones: NYT