PDF de programación - Desde cero la web de Datos

Imágen de pdf Desde cero la web de Datos

Desde cero la web de Datosgráfica de visualizaciones

Publicado el 4 de Septiembre del 2018
515 visualizaciones desde el 4 de Septiembre del 2018
3,3 MB
64 paginas
Creado hace 8a (13/11/2015)
Contenido

#LDR_MRA15

• Datos enlazados (linked data)
• DBpedia del español
• Paquetes R

2

¿Qué son?
DATOS ENLAZADOS
(LINKED DATA)

Terminología

#LDR_MRA15

Bla, bla, bla, RDF, bla, bla,
blaaa, SPARQL, bla, bla, bla,
Semantic Web, bla, bla, bla,

bla, bla, bla, Linked Data,

bla, bla Open Data, bla, bla,

bla, blaaaaaa, bla, bla,

blaaa, bla, bla, Ontologías,

blaaa, blaaa, bla..

4

Terminología

#LDR_MRA15

5

Terminología

#LDR_MRA15

6

Datos  Business?

#LDR_MRA15

7

Datos RDF: Datos con sentido

#LDR_MRA15

8

Datos con semántica

#LDR_MRA15

• Semántica porque

– Enlaza con datos de una (o varias) ontologías

• Una ontología es un modelo matemático que permite

– Razonar  Crear nuevos datos
– Preguntar si algo existe o una afirmación es cierta

• Sin enlaces a ontologías no hay semántica

9

Datos con semántica

#LDR_MRA15

• Ejemplo: “Cervantes escribió el Quijote”

http://dbpedia.org/ontology/Writer

rdfs:subClassOf

rdf:type

http://dbpedia.org/ontology/Artist

http://es.dbpedia.org/resource/Miguel_de_Cervantes

dbpedia:alias

dbpedia:author

http://es.dbpedia.org/resource/Don_Quijote_de_la_Mancha

“Cervantes”

rdfs:label

rdfs:label

“Miguel de Cervantes”@es

“Don Quijote de la Mancha”@es

10

Datos con semántica

• Razono: “Cervantes es un artista”

#LDR_MRA15

http://dbpedia.org/ontology/Writer

rdfs:subClassOf

rdf:type

http://dbpedia.org/ontology/Artist

http://es.dbpedia.org/resource/Miguel_de_Cervantes

rdf:type

dbpedia:alias

dbpedia:author

http://es.dbpedia.org/resource/Don_Quijote_de_la_Mancha

“Cervantes”

rdfs:label

rdfs:label

“Miguel de Cervantes”@es

“Don Quijote de la Mancha”@es

11

Datos con semántica

• Añado más enlaces y datos

#LDR_MRA15

dbpedia:thumbnail

http://upload.wikimedia.org/Wikipedia/commons/thumbd...

dbpedia:literaryGenre

http://es.dbpedia.org/resource/Novela_de_aventuras

http://es.dbpedia.org/Yann_Martel

dbpedia:author

http://es.dbpedia.org/resource/La_vida_de_Pi

dbpedia:literaryGenreOf

12

Datos con semántica

• Añado más enlaces y datos

#LDR_MRA15

13

Datos con semántica

• Añado más enlaces y datos

#LDR_MRA15

14

Datos con semántica

• Conjunto de datos (dataset)

#LDR_MRA15

15

El núcleo de la LOD cloud
DBPEDIA

DBpedia, núcleo de Linked Data

#LDR_MRA15

2007

25 datasets

17

.

g
n
p
d
u
o
l
c
-
d
o
l
/
8
0
-
0
1
-
7
0
0
2
/
s
n
o
i
s
r
e
v
/
t
e
n
d
u
o
l
c
-
d
o
l
/
/
:
p
t
t
h

.

DBpedia, núcleo de Linked Data

#LDR_MRA15

2010

203 datasets

18

l

.

.

g
n
p
d
e
r
o
o
c
_
d
u
o
l
c
-
d
o
l
/
9
1
-
9
0
-
1
1
0
2
/
s
n
o
i
s
r
e
v
/
t
e
n
d
u
o
l
c
-
d
o
l
/
/
:
p
t
t
h

DBpedia, núcleo de Linked Data

#LDR_MRA15

2011

295 datasets

19

.

g
n
p
d
u
o
l
c
-
d
o
l
/
9
1
-
9
0
-
1
1
0
2
/
s
n
o
i
s
r
e
v
/
t
e
n
d
u
o
l
c
-
d
o
l
/
/
:
p
t
t
h

.

DBpedia, núcleo de Linked Data

#LDR_MRA15

2014

570 datasets

20

El núcleo de los datos semánticos del español
DBPEDIA DEL ESPAÑOL

esDBpedia

• La no inglesa más grande

#LDR_MRA15

22

esDBpedia

#LDR_MRA15

• Centro de la Linked Open Data (LOD) cloud del

idioma español

23

De xx.wikipedia.org a xx.dbpedia.org

#LDR_MRA15

g
n
i
r
e
d
n
e
R

RDF

Triple
store

24

Hasta aquí… ¿bien?...

#LDR_MRA15

25

Dame
DATOS, DATOS, DATOS

¿Qué datos tiene DBpedia?

#LDR_MRA15

• DBpedia (idioma inglés). Datos septiembre 2014

• Cosas (entradas Wikipedia): 4.58 millones

– Clasificadas en la ontología DBpedia: 4.22
1.445.000 personas 735.000 lugares
241.000 organizaciones 123.000 discos 87.000 películas…

• DBpedias de 125 idiomas

• Enlaces:

25.2 millones a imágenes 29.8 millones a páginas web externas
50.0 millones a otros RDF datasets 80,9 millones a categorías Wikipedia
41.2 millones a categorías YAGO

• Tripletas (triples)

3000 millones de triples (583 millones de la versión inglesa)
(No están todos en el EP)

27

La ontología DBpedia

#LDR_MRA15

• Es una ontología OWL

– ¡Ojo!, común a todos los idiomas
– Varias versiones. La última tiene:

• 685 clases
• 2679 propiedades

– 1600 DBpediaDatatypeProperty
– 1079 DBpediaObjectProperty

• Equivalencias con schema.org

– 47 owl:equivalentClass
– 35 owl:equivalentProperty

28

Ver las clases y propiedades

#LDR_MRA15

http://mappings.dbpedia.org/server/ontology/classes

http://mappings.dbpedia.org/server/ontology/classes/BullFighter

http://mappings.dbpedia.org/index.php/OntologyProperty:DebutTeam

29

Sacando datos a un dataset de linked data
SPARQL

Sacando datos del EP

#LDR_MRA15

• EP = EndPoint
• “El EP” de esDBpedia

http://es.dbpedia.org/sparql

31

Sacando datos del EP

#LDR_MRA15

• La consulta
(“la query”)
– Sintaxis similar a

SQL
(bases de datos
tradicionales)

32

Sacando datos del EP

#LDR_MRA15

• Formatos de

salida
– Por omisión HTML
– Otros formatos

• JSON
• CSV
• RDF
• …

33

Sacando datos del EP

#LDR_MRA15

• Ejemplo “zero”

– Número de instancias de cada clase

de la ontología DBpedia

SELECT ?class

(COUNT(?s) AS ?count)

WHERE {

?s a ?class .
filter (strstarts(str(?class),

"http://dbpedia.org/ontology"

))

}

GROUP BY ?class
ORDER BY DESC(?count)

34

¡¡Alto ahí!!. SPARQuéeel?????

#LDR_MRA15

35

Aprende SPARQL

#LDR_MRA15

36

Aprende SPARQL

• A base de ejemplos

– En el wiki de esDBpedia

#LDR_MRA15

37

Aprende SPARQL

• A base de ejemplos

– En el wiki de esDBpedia

#LDR_MRA15

38

Queries “duras”

#LDR_MRA15

• Hay queries que necesitan mucho tiempo de cálculo
• Son rechazadas por el EP
• Ejemplo

– Número de instancias de cada propiedad de la ontología DBpedia

SELECT ?p (COUNT(?s) AS ?count) WHERE {



Esta suele rechazarse por ser muy pesada

?s ?p ?o .
filter (strstarts(str(?p), "http://dbpedia.org/ontology"))

} GROUP BY ?p ORDER BY DESC(?count)

39

Más datasets

• The Data hub

– Filtra por

• Tags

– lod
– format-rdf

• Formats

– api/sparql

#LDR_MRA15

40

Hasta aquí… ¿bien?...

#LDR_MRA15

41

Hasta aquí… ¿bien?...

#LDR_MRA15

42

Hasta aquí… ¿bien?...

#LDR_MRA15

43

¡¡Por fin!!
USANDO R

#LDR_MRA15

Package SPARQL

library(SPARQL)
endpoint <- "http://es.dbpedia.org/sparql"
query <-
'
PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT ?torero ?cantante WHERE{

?torero rdf:type dbpedia-owl:BullFighter .
?torero dbpedia-owl:spouse ?cantante .
?cantante dcterms:subject

<http://es.dbpedia.org/resource/Categoría:Cantantes_de_coplas>
}
'
reslist <- SPARQL(endpoint,query)
df <- reslist$results
df

45

#LDR_MRA15

Package SPARQL

• Uso de argmento ns

– Para reducir tamaño de resultado

#continuación…
nss <- c("esdbres", "http://es.dbpedia.org/resource/")
reslist <- SPARQL(endpoint,query, ns = nss)
df <- reslist$results
df

46

Múltiples maneras de preguntar

#LDR_MRA15

• Científicos españoles

Forma1

SELECT ?person WHERE{

?person dcterms:subject

resultado: 66 científicos

<http://es.dbpedia.org/resource/Categoría:Científicos_de_España>
}

Forma2

resultado: 143 científicos

PREFIX esdbpr: <http://es.dbpedia.org/resource/>
SELECT ?person WHERE{

?person rdf:type
?person dbpedia-owl:country

dbpedia-owl:Scientist .
esdbpr:España .

}

47

Múltiples maneras de preguntar

#LDR_MRA15

• Desde SPARQL EP: Científicos españoles

– UNION

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX esdbpr: <http://es.dbpedia.org/resource/>
SELECT ?person WHERE{

resultado: 209 = 66 + 143

{

}

?person dcterms:subject
<http://es.dbpedia.org/resource/Categoría:Científicos_de_España>

UNION

{

?person rdf:type
?person dbpedia-owl:country

dbpedia-owl:Scientist .
esdbpr:España .

}

}

48

Múltiples maneras de preguntar

#LDR_MRA15

• Desde SPARQL EP: Científicos españoles

– UNION

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX esdbpr: <http://es.dbpedia.org/resource/>
SELECT DISTINCT ?person WHERE{

(había 9 duplicados)

resultado: 200

{

}

?person dcterms:subject
<http://es.dbpedia.org/resource/Categoría:Científicos_de_España>

UNION

{

?person rdf:type
?person dbpedia-owl:country

dbpedia-owl:Scientist .
esdbpr:España .

}

}

49

Múltiples maneras de preguntar

#LDR_MRA15

• Desde R: Científicos españoles

library(SPARQL)
endpoint <- "http://es.dbpedia.org/sparql"
nss <- c("esdbres", "http://es.dbpedia.org/resource/")
queryF1 <-
'
SELECT ?person WHERE{

?person dcterms:subject

<http://es.dbpedia.org/resource/Categoría:Científicos_de_España>

}
'
queryF2 <-
'
PREFIX esdbpr: <http://es.dbpedia.org/resource/>
SELECT ?person WHERE{

?person rdf:type
?person dbpedia-owl:country

dbpedia-owl:Scientist .
esdbpr:España .

}
'
reslistF1 <- SPARQL(endpoint,queryF1, ns = nss)
reslistF2 <- SPARQL(endpoint,queryF2, ns = nss)
#Devuelve los 9 comunes a las dos queries
intersect (t(reslistF1$results), #Si devuelve una única columna “se lía” y necesita t()

50

t(reslistF2$results))

#LDR_MRA15

Siguiendo la pista

• Ejemplo: Políticos
• Veo la página de Rajoy en Wikipedia
• Veo qué nombre de recurso tiene

– “Mariano_Rajoy”

• Busco sus datos en esDBpedia

– http://es.dbpedia.org/resource/Mariano_Rajoy
– Veo properties

• occupation
• party
• …

51

Siguiendo la pista

#LDR_MRA15

• Ejemplo: Políticos
• Obteniendo los datos de Rajoy en esDBpedia

library(SPARQL)
endpoint <- "http://es.dbpedia.org/sparql"
nss <- c("esdbres", "http://es.dbpedia.org/resource/")
query <-

'
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX esdbp: <http://es.dbpedia.org/property/>
PREFIX esdbr: <http://es.dbpedia.org/resource/>
select * where{

esdbr:Mariano_Rajoy ?p ?v

}
'

reslist <- SPARQL(endpoint,query, ns = nss) #Salen 550 datos
head(reslist$results)

52

Siguiendo la pista

• Ejemplo: Políticos
• Políticos y su partido político

library(SPARQL)
endpoint <- "http://es.dbpedia.org/sparql"
nss <- c("esdbres", "http://es.dbpedia.org/resource/")
query <-

'
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX esdbp: <http://es.dbpedia.org/property/>
PREFIX esdbr: <http://es.dbpedia.org/resource/>
select ?uri ?par where{

?uri dbo:occupation esdbr:Político .
?uri dbo:party ?par

}
ORDER BY ?par
'

reslist <-
  • Links de descarga
http://lwp-l.com/pdf13344

Comentarios de: Desde cero la web de Datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad