Ingeniería del Conocimiento Sesión 9 “Ontologías y Web Semántica” Grado en Ingeniería del Software Semestre de otoño 2012 Profesores: Sascha Ossowski, Alberto Fernández y Holger Billhardt –1– Índice • • • • Introducción a la Web Semántica Lenguajes de Ontologías Consulta de información en la Web Semántica La Web de Datos (Linked Data) Bibliografía: – W3C Semantic Web Activity (http://www.w3.org/2001/sw/) – A Semantic Web Primer. Grigoris Antoniou y Frank van Harmelen. The MIT Press, cop. 2008 – Semantic Web: Concepts, Technologies and Applications. K. Breitman, M. A. Casanova, W. Truszkowski. Springer. 2007 – Foundations of Semantic Web Technologies. P. Hitzler, M. Krötzsch, S. Rudolph. CRC Press. 2009. –2– Índice • Introducción a la Web Semántica • Lenguajes de Ontologías – RDF – RDF Schema – OWL • Consulta de información en la Web Semántica – SPARQL • La Web de Datos (Linked Data) –3– La Web Semántica • ¿Qué es la Web? – HTTP (cómo transferir datos) GET /index.htm – URI (cómo referenciar los datos) http://www.ia.urjc.es/ – HTML (cómo mostrar datos para los humanos) <html> <head> <title>Grupo de Inteligencia Artificial</title> … • El problema con la Web Millones de documentos disponibles online. Problemas: – Recuperación de los documentos adecuados – Extracción de los datos relevantes (de dichos documentos) – Combinación de información de diferentes fuentes –4– Recuperación de documentos adecuados ¿Cuál es la página de publicaciones de Tim Berners-Lee? –5– Extracción de información ¿Qué es un libro sobre la Web? ¿Cuál es el precio? –6– Combinación de información Quiero la oferta más barata de ‘‘A Semantic Web Primer“ –7– Combinación de información Quiero la oferta más barata de ‘‘A Semantic Web Primer“ incluyendo costes de envío Varios clicks para averiguar el precio de envío Alberto Fernandez Universidad Rey Juan Carlos Tulipan s/n Mostoles 28933. Spain –8– La Web Semántica • Solución – En lugar de lenguaje natural, publicar datos procesables por los ordenadores – Publicar información en términos entendibles por los ordenadores – Realizar consultas en términos entendibles por las máquinas • ¿Cómo? – Representar conocimiento usando Ontologías estandarizadas • Semantic Web: “the idea of having data on the Web defined and linked in a way that it can be used by machines not just for display purposes, but for automation, integration and reuse of data across various applications” [W3C Semantic Web Activity (http://www.w3.org/2001/sw/)] –9– Estructura de Capas de la Web Semántica – 10 – Índice • Introducción a la Web Semántica • Lenguajes de Ontologías – RDF – RDF Schema – OWL • Consulta de información en la Web Semántica – SPARQL • La Web de Datos (Linked Data) – 11 – RDF • Resource Description Framework • Recomendación del W3C – http://www.w3.org/RDF/ – http://www.w3.org/TR/rdf-primer/ • Modelo de datos equivalente a una red semántica • Sentencia = tripla (Sujeto, Predicado, Objeto) – Sujeto: recurso (URI) o “blank node” – Predicado/Propiedad: relación binaria (URI) – Objeto: URI, literal o “blank node” – 12 – RDF: Ejemplo – 13 – RDF: Serialización. Turtle <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/creator> <http://www.example.org/staffid/85740> . <http://www.example.org/index.html> <http://www.example.org/terms/creation-date> "August 16, 1999" . <http://www.example.org/index.html> <http://purl.org/dc/elements/1.1/language> "en" . O más compacto: @prefix ex: <http://www.example.org/>. @prefix exstaff: <http://www.example.org/staffid/>. @prefix exterms: <http://www.example.org/terms/>. @prefix dc: <http://purl.org/dc/elements/1.1/>. ex:index.html dc:creator exstaff:85740 . ex:index.html exterms:creation-date "August 16, 1999" . ex:index.html dc:language "en" . O ex:index.html dc:creator exstaff:85740 ; exterms:creation-date "August 16, 1999" ; dc:language "en" . Abreviaciones – – – – – – @prefix ; (compartir sujeto) , (compartir sujeto-pred) a (rdf:type) [] (blank nodes) () (listas) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> – 14 – RDF: Sintaxis XML. Ejemplo <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.org/terms/"> <rdf:Description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>August 16, 1999</exterms:creation-date> </rdf:Description> <rdf:Description rdf:about="http://www.example.org/index.html"> <dc:language>en</dc:language> </rdf:Description> <rdf:Description rdf:about="http://www.example.org/index.html"> <dc:creator rdf:resource="http://www.example.org/staffid/85740"/> </rdf:Description> </rdf:RDF> <rdf:Description rdf:about="http://www.example.org/index.html"> <exterms:creation-date>August 16, 1999</exterms:creation-date> <dc:language>en</dc:language> <dc:creator rdf:resource="http://www.example.org/staffid/85740"/> </rdf:Description> – 15 – RDF: Nodos Anónimos (Blank Nodes) • • Nodos sin URI (no es necesaria) Son independientes entre sí exstaff:85740 _:johnaddress _:johnaddress _:johnaddress _:johnaddress Otra forma: exterms:address exterms:street exterms:city exterms:state exterms:postalCode _:johnaddress . "1501 Grant Avenue" . "Bedford" . "Massachusetts" . "01730" . exstaff:85740 exterms:address [ exterms:street "1501 Grant Avenue" ; exterms:city "Bedford"; exterms:state "Massachusetts"; exterms:postalCode "01730" ]. – 16 – RDF: Literales • Tipos de datos – Único predefinido es rdf:XMLLiteral – Se recomienda usar XML Schema datatypes (xsd=http://www.w3.org/2001/XMLSchema#): • xsd:string, xsd:integer, xsd:date,… • Ejemplo ex:index.html exterms:creation-date "1999-08-16"^^xsd:date . <creation-date rdf:datatype="http://www.w3.org/2001/XMLSchema#date"> 1999-08-16 </creation-date> – 17 – RDF: Contenedores y Colecciones • Contenedores – – – – – rdf:Bag: el orden no importa. Puede contener duplicados. rdf:Seq: el orden es importante rdf:Alt: alternativas propiedades rdf:_1, rdf:_2, rdf:_3, … Observación: los contenedores son “abiertos” • Colecciones – Permiten representar colecciones “cerradas” – rdf:List, rdf:first ,rdf:rest, rdf:nil – 18 – RDF: Reificación • Mecanismo para convertir una sentencia en un recurso • Vocabulario – Sentencia: rdf:Statement – rdf:subject, rdf:predicate, rdf:object • Ejemplo: (ex:index.html dc:creator exstaff:85740 .) ex:triple1 ex:triple1 ex:triple1 ex:triple1 rdf:type rdf:subject rdf:predicate rdf:object rdf:Statement . ex:index.html . dc:creator . exstaff:85740 . ex:triple1 rdf:type rdf:subject rdf:predicate rdf:object rdf:Statement ; ex:index.html ; dc:creator ; exstaff:85740 . – 19 – Índice • Introducción a la Web Semántica • Lenguajes de Ontologías – RDF – RDF Schema – OWL • Consulta de información en la Web Semántica – SPARQL • La Web de Datos (Linked Data) – 20 – RDF Schema (RDFS) • En RDF hablamos de objetos individuales (recursos) • Nos gustaría razonar sobre clases que definen tipos de objetos – Por ejemplo, para evitar sentencias como (válidas en RDF): • IC es impartida por IC (restricción de rango) ex:IC ex:impartida_por ex:IC. • Casa es impartida por Juan (restricción de domino) ex:Casa ex:impartida_por ex:Juan. • Solución – Clases, relaciones, restricciones de dominio y rango, … – Ejemplo: • Las asignaturas deben ser impartidas por miembros del personal académico – 21 – RDF Schema (RDFS) • Recomendación del W3C – http://www.w3.org/TR/rdf-schema/ • RDFS extiende RDF con nuevas primitivas • Define a un lenguaje básico para describir ontologías – – – – Fija la semántica de “subclase de” Jerarquías de clases y propiedades Herencia Restricciones de dominio y rango – 22 – RDF Schema (RDFS) @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> • Clases (rdfs:Class) e Instancias (rdf:type) Definición de Clases ex:Asignatura rdf:type <http://www.w3.org/2000/01/rdfschema#Class> O ex:Asignatura rdf:type rdfs:Class . Instancias ex:IC rdf:type ex:Asignatura. • Jerarquías de clases (rdfs:subClassOf) ex:Catedratico rdfs:subClassOf ex:PersonalDocente. – 23 – RDF Schema (RDFS) • Propiedades (rdf:Property) ex:impartida_por rdf:type rdf:Property . • Restricciones propiedades (rdfs:domain, rdfs:range) ex:impartida_por rdfs:domain ex:Asignatura; rdfs:range ex:PersonalDocente. • Jerarquías de propiedades (rdfs:subPropertyOf) ex:impartida_por rdfs:domain ex:Asignatura; rdfs:range ex:PersonalDocente; rdfs:subPropertyOf ex:involucra. – 24 – RDF Schema (RDFS) Clase involucra domain propiedad Asignatura domain subPropertyOf range impartida_por subClassOf Contratado Doctor type RDF Schema type RDF IA impartida_por Alberto Fdez – 25 – Personal range subClassOf Personal Docente subClassOf Funcionario subClassOf subClassOf Profesor Titular Catedrático RDF Schema (RDFS) • Primitivas – Clases • rdfs:Resource, rdfs:Literal, rdf:XMLLiteral, rdfs:Class, rdf:Property, rdfs:Datatype – Propiedades • rdf:type, rdfs:subClassOf, rdf:subPropertyOf, rdfs:domain, rdfs:range, rdfs:label, rdfs:comment – Contenedores • rdfs:Container, rdf:Bag, rdf:Seq, rdf:Alt, rdfs:ContainerMembershipProperty, rdfs:member – Colecciones • rdf:List, rdf:first, rdf:rest, rdf:nil – Reificación • rdf:Statement, rdf:predicate, rdf:subject, rdf:object – Otros • rdfs:seeAlso, rdfs:isDefinedBy, rdf:value – 26 – RDF Schema (RDFS) posee domain range Persona Pez type type type Wendy posee Wanda Violación de la restricción: El rango de posee es Pez. O No hay inconsistencia: Wanda es un pez! – 27 – Sirena? RDF Schema (RDFS) • Limitaciones de RDFS – Básicamente permite la organización de vocabularios en jerarquías – Ámbito local de las propiedades • Las restricciones de rango no se pueden aplicar a algunas clases solamente – No permite expresar: • Clases disjuntas – Ejemplo: masculino y femenino • Combinación booleana de clases – Ejemplo: Persona = Hombre ∪ Mujer • Restricciones de cardinalidad • Características especiales de las propiedades – Transitiva, simétrica, inversa de, … – 28 – Índice • Introducción a la Web Semántica • Lenguajes de Ontologías – RDF – RDF Schema – OWL • Consulta de información en la Web Semántica – SPARQL • La Web de Datos (Linked Data) – 29 – OWL • Web Ontology Language • Recomendación del W3C – http://www.w3.org/2004/OWL/ – http://www.w3.org/TR/owl-guide/ • Es un lenguaje para describir ontologías • Se construye sobre RDFS, añadiendo constructores para aumentar la expresividad @prefix owl: <http://www.w3.org/2002/07/owl#> – 30 – OWL • Cabecera – – – – – – – – owl:Ontology owl:imports: URI ontología owl:versionInfo owl:priorVersion: URI ontología owl:backwardCompatibleWith owl:incompatibleWith: no es compatible hacia atrás owl:DeprecatedClass owl:DeprecatedProperty <owl:Ontology rdf:about=""> <owl:versionInfo>v 1.1</owl:versionInfo> <rdfs:comment>An example ontology</rdfs:comment> <owl:imports rdf:resource="http://www.example.org/foo"/> <owl:backwardCompatibleWith rdf:resource="http://www.example.org/vehicle-1.0"/> <owl:priorVersion rdf:resource="http://www.example.org/veh-1.0"/> </owl:Ontology> – 31 – OWL • Clases – owl:Class • owl:Class es subclase de rdfs:Class ex:Asignatura rdf:type owl:Class . – rdfs:subClassOf (⊑) – owl:Thing: ⊤ (superclase de todas las clases) – owl:Nothing: ⊥ (subclase de todas las clases) – 32 – OWL • Propiedades – owl:ObjectProperty: relaciona instancias de dos clases – owl:DatatypeProperty: relaciona instancias con Literales y tipos de datos XML Schema – rdfs:subPropertyOf (r1 ⊑ r2 en H) – rdfs:domain (∃r.⊤ ⊑ C o ⊤ ⊑ ∀r –.C) – rdfs:range (⊤ ⊑ ∀r.C) – 33 – OWL • Características de propiedades – owl:TransitiveProperty: (r+) • p(x,y) ∧ p(y,z) → p(x,z) (ej: “antepasado de”) – owl:SymmetricProperty: (r ≡ r –) • p(x,y) ↔ p(y,x) (ej: “familiar de”) – owl:FunctionalProperty: (⊤ ⊑ ≤ 1 r) • p(x,y) ∧ p(x,z) → y = z (ej: “año nacimiento”) – owl:inverseOf: (r –) • p1(x,y) ↔ p2(y,x) (ej: p1=“profesor de”, p2=“alumno de”) – owl:InverseFunctionalProperty: (⊤ ⊑ ≤ 1 r -) • p(y,x) ∧ p(z,x) → y = z (ej: “nº móvil”) – 34 – OWL • Restricciones de propiedades – owl:Restriction – owl:onProperty – owl:allValuesFrom: (∀r.C) ex:Vaca rdf:type owl:Class; rdfs:subClassOf ex:Animal; rdfs:subClassOf [rdf:type owl:Restriction; owl:onProperty ex:come; owl:allValuesFrom ex:Hierba]. – – – – – owl:someValuesFrom: (∃r.C) owl:cardinality owl:maxCardinality (≤ n r) owl:minCardinality (≥ n r) owl:hasValue (∃r.{a}) – 35 – OWL • Clases complejas – – – – – owl:intersectionOf: (C ⊓ D) owl:unionOf: (C ⊔ D) owl:complementOf: (¬C) owl:disjointWith: (C ⊑ ¬D) clases disjuntas owl:oneOf: ({a,b,c} en O) enumera los individuos que pertenecen a una clase. Ej: {Rojo, Ambar, Verde}. ex:ColorSemaforo rdf:type owl:Class; owl:oneOf (ex:Rojo ex:Ambar ex:Verde). – 36 – OWL • Ontology mapping – – – – owl:equivalentClass (≡) owl:equivalentProperty (≡ en H) owl:sameAs: ({x} ≡ {x}) dos URIs representan el mismo individuo owl:differentFrom: ({x} ≡ ¬{x}) dos URIs no representan el mismo individuo – owl:AllDifferent – owl:distinctMembers [rdf:type owl:AllDifferent; owl:distinctMembers (ex:Rojo ex:Ambar ex:Verde)]. – 37 – OWL • Anotaciones – – – – – – rdfs:label rdfs:comment rdfs:seeAlso rdfs:isDefinedBy owl:AnnotationProperty owl:OntologyProperty – 38 – OWL: ejemplos de inferencias • Ejemplo disjointWith Profesor owl:subClassOf PersonalDocente . Libro owl:subClassOf Publicación . PersonalDocente owl:disjointWith Publicación . Se infiere: Profesor y Libro son disjuntos • Ejemplo owl:equivalentClass Hombre owl:subClassOf Persona Persona owl:equivalentClass Humano Se infiere: Hombre es subclase de Humano • Ejemplo instancias “A Semantic Web Primer” rdf:type Libro Libro owl:subClassOf Publicación Se infiere: “A Semantic Web Primer” es una Publicación – 39 – OWL y LD: Resumen LD ⊤ ⊥ C⊓D C⊔D ¬C ∀r.C ∃r.C C⊑D C≡D r- ≥nr ≤nr OWL LD C ⊑ ¬D {a} ≡ {b} {a} ⊑ ¬{b} r1 ⊑ r2 {a,b,c} ∃r.{a} r+ Thing Nothing intersectionOf unionOf complementOf allValuesFrom someValuesFrom subclassOf equivalentClass inverseOf minCardinality maxCardinality r≡s ⊤⊑≤1r ⊤ ⊑ ≤ 1 rr ≡ r- – 40 – OWL disjointWith sameAs differentFrom subpropertyOf oneOf hasValue TransitiveProperty equivalentProperty FunctionalProperty InverseFunctionalProperty SymmetricProperty Índice • Introducción a la Web Semántica • Lenguajes de Ontologías – RDF – RDF Schema – OWL • Consulta de información en la Web Semántica – SPARQL • La Web de Datos (Linked Data) – 41 – SPARQL • Query Language for RDF • Recomendación del W3C – http://www.w3.org/TR/rdf-sparql-query/ • Lenguaje de consulta de contenidos RDF • Sintaxis estilo SQL – 42 – SPARQL Estructura de una consulta: [ PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> ... ] SELECT ... [FROM ...] WHERE { ... } [Modificadores] – 43 – SPARQL • Patrones básicos PREFIX rdf: <http://www.w3.org/1999/02/22-rdfsyntax-ns#> SELECT ?nom ?ape WHERE { ?x :nombre ?nom. ?x :apellido ?ape. ?x rdf:type :Empleado. } • Observaciones – SELECT * selecciona todas las variables • En el ejemplo: SELECT * = SELECT ?nom ?ape ?x – También: { ?x :nombre ?nom ; :apellido ?ape ; a :Empleado. } – 44 – SPARQL • Grupos de patrones SELECT ?nom ?ape WHERE { { ?x :nombre ?nom. ?x :apellido ?ape. ?x :nacido_en ?pais. ?pais :poblacion ?hab. } { ?x rdf:type :Empleado.} } – 45 – SPARQL • Literales – Etiquetas de idioma • “Madrid”, “Madrid”@es y “Madrid”@en son valores distintos – Tipos numéricos • “123"^^<http://www.w3.org/2001/XMLSchema#integer> es lo mismo que 123 (y que "123"^^xsd:integer) con: PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> – Tipos arbitrarios • "abc"^^ex:TipoT SELECT ?s WHERE { ?s ?p "abc"^^ex:TipoT. } – 46 – SPARQL • Restricciones (FILTER) – Numéricas Algunos Operadores SELECT ?nom ?ape Lógicos: !, &&, || WHERE Aritméticos: +, -, *, / { ?x :nombre ?nom. Comparación: =, !=, >, <,>=,<= ... ?x :apellido ?ape. ?x :nacido_en ?pais. ?pais :poblacion ?hab. FILTER (?hab >= 200000).} – Strings • FILTER (regex(?nom, “Alberto", "i")) • FILTER (regex(str(?nom), “^Al")) • regex como en XQuery 1.0 y XPath 2.0 – Otros • FILTER ( ?fecha > "1980-05-1"^^xsd:date && ?fecha < "1980-06-30"^^xsd:date ) – 47 – SPARQL • Patrones opcionales (OPTIONAL) SELECT ?nom ?ape ?nac ?email WHERE { ?x :nombre ?nom. ?x :apellido ?ape. ?x rdf:type :Empleado. OPTIONAL {?x :año_nac ?nac. ?x :email ?email.} } • Ojo! es distinto a: SELECT ?nom ?ape ?nac ?email WHERE { ?x :nombre ?nom. ?x :apellido ?ape. ?x rdf:type :Empleado. OPTIONAL {?x :año_nac ?nac.} OPTIONAL {?x :email ?email.} } – 48 – SPARQL • Patrones alternativos (UNION) SELECT ?nom ?a WHERE { {?x :nombre ?nom} UNION {?x :apellido ?nom}. ?x rdf:type :Empleado. ?x :año_nac ?a. } – 49 – SPARQL • Negación – No incluida en el lenguaje. – Se puede simular así (negación por fallo): SELECT ?nom ?ape WHERE { ?x :nombre ?nom. ?x :apellido ?ape. OPTIONAL { ?x rdf:type ?t. FILTER (?t = :Empleado) } FILTER (!Bound(?t)) } – 50 – SPARQL • RDF Datasets – Un RDF dataset representa una colección de grafos RDF • Grafo por defecto (default graph) • Cero o más grafos nombrados (named graphs) PREFIX ex: <http://example.org/> default graph SELECT ?nom ?ape FROM <http://example.org/datos1.rdf> FROM NAMED <http://example.org/datos2.rdf> FROM NAMED <http://example.org/datos3.rdf> WHERE { GRAPH ex:datos2.rdf { ?x :nombre ?nom. ?x :apellido ?ape.} } – 51 – SPARQL • Modificadores de resultados – ORDER BY SELECT ?nom ?ape WHERE { ?x :nombre ?nom. ?x :apellido ?ape. } ORDER BY ?ape DESC(?nom) – DISTINCT: evita repetidos SELECT DISTINCT ?nom ?ape – OFFSET / LIMIT SELECT ?nom ?ape WHERE { ?x :nombre ?nom. ?x :apellido ?ape.} ORDER BY ?ape LIMIT 5 OFFSET 3 – 52 – SPARQL • Formatos de Resultados – SELECT – ASK • devuelve si existe o no alguna solución – DESCRIBE • toda la información de los objetos indicados • depende del servidor DESCRIBE ?pais WHERE { ?x :nombre ?nom. ?x :apellido ?ape. ?x :nacido_en ?pais. ?pais :poblacion ?hab. FILTER (?hab >= 200000).} – CONSTRUCT • genera un grafo RDF – 53 – SPARQL • CONSTRUCT CONSTRUCT {?x :tieneTio ?her. ?her :tieneSobrino ?x.} WHERE { ?x :tienePadre ?padre. ?padre :tieneHermano ?her. } CONSTRUCT {?x o2:hasParent ?padre. ?padre o2:hasBrother ?her.} WHERE { ?x o1:tienePadre ?padre. ?padre o1:tieneHermano ?her. } – 54 – SPARQL Endpoints • Aceptan consultas SPARQL y devuelven los resultados por HTTP • Formatos de resultados – KML, JSON, RDF (RDF/XML, N-Triples, Turtle, etc.), HTML,… • Tipos – Genéricos • • • • http://demo.openlinksw.com/sparql http://sparql.org/sparql.html http://librdf.org/query/ … – Específicos – 55 – SPARQL 1.1 • En desarrollo • Algunas extensiones – – – – – – – – Agregados: COUNT, SUM, MIN, MAX, AVG, … Subqueries Queries federadas Expresiones en el SELECT Negaciones Property Paths Modificar los grafos del dataset … • Algunos endpoints/herramientas ya lo implementan (al menos parcialmente) – 56 – Índice • Introducción a la Web Semántica • Lenguajes de Ontologías – RDF – RDF Schema – OWL • Consulta de información en la Web Semántica – SPARQL • La Web de Datos (Linked Data) – 57 – Web de Datos (Linked Data) • Queremos consultar información del tipo: Porteros de fútbol, que han jugado en algún equipo con un estadio de más de 40.000 localidades y que han nacido en un país de más de 10 millones de habitantes • Pasar de la Web de Documentos a la Web de los Datos • Linked Data – http://linkeddata.org/ – http://www.w3.org/DesignIssues/LinkedData.html – http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html (vídeo 16 min) • Linking Open Data (LOD) – Web de Datos “Abiertos” – http://thedatahub.org/group/lodcloud – 58 – Web de Datos (Linked Data) • Principios de Linked Data 1. Usar URIs para identificar cosas 2. Usar el protocolo HTTP para esas URIs 3. Proporcionar información útil en esas direcciones, usando estándares (RDF, SPARQL) 4. Incluir enlaces a otras URIs – 59 – Web de Datos (Linked Data) Mayo 2007 12 datasets “Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/” – 60 – Web de Datos (Linked Data) Septiembre 2008 45 datasets “Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/” – 61 – Web de Datos (Linked Data) Julio 2009 95 datasets “Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/” – 62 – Web de Datos (Linked Data) Sept. 2011 295 datasets – 63 – “Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/” Web de Datos (Linked Data) • Algunas fuentes de datos – – – – – Dbpedia: http://dbpedia.org/sparql UK Government: http://data.gov.uk/sparql USA Government: http://semantic.data.gov/sparql Musicbrainz: http://dbtune.org/musicbrainz/sparql ... – 64 – Ejemplo: DBPedia • http://dbpedia.org • Pone disponible a información existente en la Wikipedia • Generación de datos – A partir de información estructurada de la Wikipedia • Publicación de datos – OpenLink Virtuoso – SPARQL endpoint público: http://dbpedia.org/sparql – 65 – Ejemplo: DBPedia • Visualización de datos • Leipzig query builder – http://querybuilder.dbpedia.org • OpenLink Interactive SPARQL Query Builder (iSPARQL) – http://dbpedia.org/isparql; • SNORQL query explorer – http://dbpedia.org/snorql • Cualquier otros clientes SPARQL • Otras herramientas – DBpedia Faceted Search • http://wiki.dbpedia.org/FacetedSearch • Browser: http://dbpedia.neofonie.de/browse/ • Ejemplo de recurso: – http://wikipedia.org/wiki/Berlin http://dbpedia.org/resource/Berlin – 66 – Ejemplo: DBPedia – 67 –