Protégé - OWLSPARQL
http://www.w3.org/TR/rdf-sparql-query/
http://ontologias.blogs.upv.es
Protégé - OWLSPARQL
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: 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 )
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 ...
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.
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") }
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 } }
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 }}
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...
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.
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