-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
1999 lines (1522 loc) · 81.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Ontologías</title>
<meta name="description" content="Ontologías">
<meta name="author" content="Alejandro Villar Fernádez">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/solarized.css" id="theme">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section>
<section data-id="1" data-markdown>
<script type="text/template">
# semántica
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
- Redes semánticas
- Minería de textos y minería web
- **Ontologías**
- Linked Data
- Análisis de redes complejas
</script>
</section>
</section>
<section>
<section data-id="1" data-markdown>
<script type="text/template">
# Ontologías
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### Ontologías
- Introducción a la Web Semántica
- Introducción a RDF
- Introducción a Ontologías
- RDFS
- OWL
- SKOS
</script>
</section>
</section>
<section>
<section data-id="1" data-markdown>
<script type="text/template">
## La Web Semántica
![Portada de Scientific American 2001](./img/semantic_web.png)<!-- .element height="40%" width="40%" -->
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### y linked open data
[![Parte de la nube de LOD](./img/lod-datasets_2009-07-14_cropped.png)](https://lod-cloud.net/)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### ¿en qué se basan?
RDF + ontologías
**sujeto - predicado - objeto**
<http://example.org/bob#me>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://xmlns.com/foaf/0.1/Person> .
¡y SPARQL!
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### ¿Cómo es una aplicación semántica?
![Arquitectura aplicación semántica](./img/despliegue.png)
</script>
</section>
</section>
<section>
<section data-id="1" data-markdown>
<script type="text/template">
# Introducción a RDF
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ¿Qué es RDF?
> Un marco de trabajo para expresar información sobre **recursos**.
documentos, personas, objetos físicos y/o abstractos...<!-- .element: class="fragment" data-fragment-index="1" -->
- información en la web necesita ser procesada por aplicaciones<!-- .element: class="fragment" data-fragment-index="2" -->
- RDF ofrece un marco común sin pérdida de significado<!-- .element: class="fragment" data-fragment-index="2" -->
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ¿Para qué RDF?
- para añadir información legible para motores de búsqueda
- para enriquecer un dataset [enlazándolo](http://lod-cloud.net/) con datasets de terceros
- para entrelazar feeds de APIs, facilitando su descubrimiento
- para construir agregaciones de datos sobre determinados temas
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ¿Para qué RDF? (II)
- para proporcionar un estándar de intercambio de datos entre BBDDs
- para permitir consultas cruzadas a datasets de una organización
- para enriquecer, describir y contextualizar los datos
- para fomentar nuevas asociaciones entre datasets
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ¿Y el modelo relacional?
- una tabla es fácil de mostrar, ordenar y editar
- su semántica está en las filas y columnas de sus tablas
- una BDR permite cruzar varias tablas de forma estándar
- evolucionar los esquemas es complejo:
datos + consultas
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ¿Y el modelo relacional? (II)
- además, los esquemas se pueden volver tremendamente complicados
soluciones: procedimientos almacenados y ORMs
#### a veces, es necesario modelar para lo inesperado: flexibilidad
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### un esquema complicado
![Esquema complejo](./img/data_model_hell.png)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### comparativa de paradigmas
|Mundo Relacional|Mundo Semántico|
|----------------|----------------|
|Registro de tabla|Nodo RDF|
|Columna de tabla|RDF property Type|
|Celda de tabla|Valor|
|Consulta SQL|Consulta SPARQL|
|Modelo de datos|Ontología|
</script>
</section>
<section data-id="1" data-markdown style="font-size:35px">
<script type="text/template">
### almacenes RDF vs BDR
- **Flexibilidad:** su esquema flexible permite realizar cambios sin paradas ni rediseños, cosa que no ocurre con una base de datos relacional.
- **Estandarización:** el nivel de estandarización de RDF y SPARQL es mucho mayor que el de SQL. Es prácticamente inmediato sustituir un almacén de tripletas por otro, mientras que en el caso de las bases de datos relacionales es necesario tener en cuenta los distintos dialectos e implementaciones de SQL según el fabricante.
- **Expresividad:** es mucho más sencillo modelar datos complejos y con elevado número de relaciones entre ellos en RDF que en SQL. Ocurre al contrario si los datos son de naturaleza tabular, naturalmente.
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### almacenes RDF vs BDR (II)
no todo son ventajas...
- **Madurez:** las bases de datos relacionales son mucho más maduras y presentan más funcionalidades que los almacenes de ternas.
- **Coste de almacenamiento**: El coste por unidad de información almacenada en un almacén de ternas es mucho mayor que el de una base de datos relacional, lo cual puede ser crítico si se están tratando grandes volúmenes de datos.
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelo de datos RDF
- RDF permite hacer declaraciones sobre recursos.
- El formato de una declaración es sencillo:
**sujeto + predicado + objeto**
- El predicado representa la naturaleza de la relación
- Las declaraciones RDF se denominan tripletas
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ejemplo informal de tripletas
<Bob> <is a> <person>.
<Bob> <is a friend of> <Alice>.
<Bob> <is born on> <the 4th of July 1990>.
<Bob> <is interested in> <the Mona Lisa>.
<the Mona Lisa> <was created by> <Leonardo da Vinci>.
<the video 'La Joconde à Washington'> <is about> <the Mona Lisa>.
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ejemplo informal de tripletas
![Grafo de tripletas](./img/example-graph.jpg)<!-- .element: height="75%" width="75%"-->
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## URI, IRI, URL
- URI: identifica un recurso físico o abstracto<!-- .element: class="fragment" data-fragment-index="1" -->
- IRI: como la URI, pero incorpora UTF-8<!-- .element: class="fragment" data-fragment-index="2" -->
- URL: una URI que, además de identificar, proporciona una forma de localizar el recurso a través de su mecanismo de acceso primario<!-- .element: class="fragment" data-fragment-index="3" -->
http://dbpedia.org/resource/Leonardo_da_Vinci<!-- .element: class="fragment" data-fragment-index="3" -->
**son identificadores únicos (fuertes)**<!-- .element: class="fragment" data-fragment-index="4" -->
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## URI, IRI, URL (II)
Es común acortar los URIs asignando un espacio de nombres a su base:
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
rdf = http://www.w3.org/1999/02/22-rdf-syntax-ns#
**rdf:type**
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## literales
valores básicos que no son IRIs (strings, números, fechas...)
Muchos [tipos de datos](https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/#section-Datatypes) provienen de XML Schema
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## literales (II)
![](./img/xsd-type-hierarchy.gif)<!-- .element width="45%" -->
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## blank nodes
- A veces es útil representar un recurso sin usar un identificador.
- Se asemejan a variables en álgebra: representan algo cuyo valor se desconoce.
- Suelen aparecer en las posiciones de sujeto y objeto.
- Se usan para agrupar conjuntos de declaraciones.
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## ejemplo de blank nodes
![Blank node](./img/example-blank-node.jpg)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## grafos múltiples
RDF permite agrupar declaraciones en varios grafos y asociarlos a un IRI determinado
<http://example.org/bob#me>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://xmlns.com/foaf/0.1/Person>
<http://example.org/bob>
**se denominan quads**
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (I)
N-triples:
<http://example.org/bob#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
<http://example.org/bob#me> <http://xmlns.com/foaf/0.1/knows> <http://example.org/alice#me> .
<http://example.org/bob#me> <http://schema.org/birthDate> "1990-07-04"^^<http://www.w3.org/2001/XMLSchema#date> .
<http://example.org/bob#me> <http://xmlns.com/foaf/0.1/topic_interest> <http://www.wikidata.org/entity/Q12418> .
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (II)
Turtle:
@base <http://example.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rel: <http://www.perceive.net/schemas/relationship/> .
<#green-goblin>
rel:enemyOf <#spiderman> ;
a foaf:Person ; # in the context of the Marvel universe
foaf:name "Green Goblin" .
<#spiderman>
rel:enemyOf <#green-goblin> ;
a foaf:Person ;
foaf:knows [
a foaf:Person;
foaf:name "Mary Jane Watson" .
] ;
foaf:name "Spiderman", "Человек-паук"@ru .
_:pp owl:sameAs <#spiderman> .
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (III)
Turtle:
- Prefijos:
@prefix pref: <http://mi.prefjo.com#> .
- URI:
<http://www.google.es>
pref:Clase
- Blank nodes:
_:blid
[ foaf:name "Anon" ]
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (IV)
Turtle:
- Tripletas
- Finalización: `.`
- Repetir sujeto + predicado: `,`
- Repetir sujeto: `;`
- `a` es alias de `rdf:type`
- Comentarios
# Comentario
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (V)
Turtle:
- Literales
"Una cadena de caracteres"
3
"3"^^xsd:int
"2019-05-22"^^xsd:date
"A character string"@en
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (VI)
blank node:
PREFIX lio: <http://purl.org/net/lio#>
<http://dbpedia.org/resource/Mona_Lisa> lio:shows _:x .
_:x a <http://dbpedia.org/resource/Cypress> .
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (VII)
JSON-LD:
{
"@context": "example-context.json",
"@id": "http://example.org/bob#me",
"@type": "Person",
"birthdate": "1990-07-04",
"knows": "http://example.org/alice#me",
"interest": {
"@id": "http://www.wikidata.org/entity/Q12418",
"title": "Mona Lisa",
"subject_of": "http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619",
"creator": "http://dbpedia.org/resource/Leonardo_da_Vinci"
}
}
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (VIII)
JSON-LD context:
{
"@context": {
"foaf": "http://xmlns.com/foaf/0.1/",
"Person": "foaf:Person",
"interest": "foaf:topic_interest",
"knows": {
"@id": "foaf:knows",
"@type": "@id"
},
"birthdate": {
"@id": "http://schema.org/birthDate",
"@type": "http://www.w3.org/2001/XMLSchema#date"
},
"dcterms": "http://purl.org/dc/terms/",
"title": "dcterms:title",
"creator": {
"@id": "dcterms:creator",
"@type": "@id"
},
"subject_of": {
"@reverse": "dcterms:subject",
"@type": "@id"
}
}
}
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## formatos de serialización (IX)
RDF/XML:
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:schema="http://schema.org/">
<rdf:Description rdf:about="http://example.org/bob#me">
<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
<schema:birthDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1990-07-04</schema:birthDate>
<foaf:knows rdf:resource="http://example.org/alice#me"/>
<foaf:topic_interest rdf:resource="http://www.wikidata.org/entity/Q12418"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.wikidata.org/entity/Q12418">
<dcterms:title>Mona Lisa</dcterms:title>
<dcterms:creator rdf:resource="http://dbpedia.org/resource/Leonardo_da_Vinci"/>
</rdf:Description>
<rdf:Description rdf:about="http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619">
<dcterms:subject rdf:resource="http://www.wikidata.org/entity/Q12418"/>
</rdf:Description>
</rdf:RDF>
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Vocabularios
- RDF se utiliza conjuntamente con vocabularios para proporcionar información semántica.
- Para definir vocabularios, RDF proporciona la herramienta básica RDF Schema (RDFS).
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Vocabularios (II)
- Clase: categoría para clasificar recursos.
- Tipo: relación entre instancia y su clase correspondiente.
- Dominio: colección de tipos que usan una propiedad.
- Rango: tipos de valores que puede tomar una propiedad.
**un recurso se considera miembro de una clase por el rango/dominio de sus propiedades**
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## vocabularios (III)
<!-- .slide: style="font-size:30px" -->
|Construct|Sintaxis|
|---------|--------|
|Class (class)|`C rdf:type rdfs:Class`|
|Property (class)|`P rdf:type rdf:Property`|
|type (property)|`I rdf:type C`|
|subClassOf (property)|`C1 rdfs:subClassOf C2`|
|subPropertyOf (property)|`P1 rdfs:subPropertyOf P2`|
|domain (property)|`P rdfs:domain C`|
|range (property)|`P rdfs:range C`|
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## vocabularios comunes
<!-- .slide: style="font-size:30px" -->
- Dublin Core [DC](http://purl.org/dc/elements/1.1/) / Dublin Core terms [DCT](http://purl.org/dc/terms/)
- Friend of a Friend [FOAF](http://www.foaf-project.org/)
- [Schema.org](http://schema.org/)
- Data Catalog Vocabulary [DCAT](https://www.w3.org/TR/2014/REC-vocab-dcat-20140116/)
- RDF Data Cube vocabulary [QB](https://www.w3.org/TR/2014/REC-vocab-data-cube-20140116/)
- The Organization Ontology [ORG](https://www.w3.org/TR/2014/REC-vocab-org-20140116/)
además de RDFS, OWL, SKOS...
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelo informal
<Person> <type> <Class>
<is a friend of> <type> <Property>
<is a friend of> <domain> <Person>
<is a friend of> <range> <Person>
<is a good friend of> <subPropertyOf> <is a friend of>
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelo real
![Modelo real](./img/icane_model.png)<!-- .element: height="75%" width="75%"-->
</script>
</section>
</section>
<section>
<section data-id="1" data-markdown>
<script type="text/template">
# Introducción a Ontologías
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Definición (I)
Para un filósofo:
>Un sistema particular de categorías sistematizando cierta visión del mundo [Guarino, 1998]
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Definición (II)
Para un científico de datos:
>Una especificación formal de una conceptualización compartida [Struder et. al., 1998]
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Componentes
Clases
- Representan conceptos tomados en su sentido más amplio
- Suelen estar organizadas en taxonomías
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Componentes (II)
Relaciones
- Representan un tipo de asociación entre los conceptos del dominio
- Las contenidas en una ontología normalmente son binarias (dominio - rango)
- Se utilizan también para expresar atributos de conceptos (su rango es un tipo de datos y no un concepto)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Componentes (III)
Axiomas
- Modelan afirmaciones que son siempre ciertas
- Sirven para verificar la consistencia de la ontología o de sus conocimientos almacenados
- Son útiles para inferir conocimientos nuevos
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Componentes (IV)
Instancias
- Representan individuos o elementos en una ontología
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Beneficios
- Proporcionan definiciones comunes y compartidas sobre conceptos de un dominio
- Permiten reutilizar conocimientos de un dominio
- Proporcionan términos a utilizar al crear documentos RDF
- Ofrecen un mecanismo de codificar conocimiento y semántica para ser procesados por máquinas
</script>
</section>
</section>
<section>
<section data-id="1" data-markdown>
<script type="text/template">
## RDFS
RDF Schema
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## Definición
- Lenguaje de esquema básico y ligero
- En su naturaleza, es orientado a objetos
- Declarar tipos es sencillo (frente a las PKs y FKs de una BDR)
>su propósito es definir vocabularios compartidos entre aplicaciones para facilitar el intercambio de datos entre ellas
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelado con RDFS
`rdf:type`
- Permite especificar que un concepto es instancia de una clase
ex:miHondaCivic rdf:type ex:Vehiculo .
ex:miHondaCivic rdf:type ex:ArticuloEnVenta .
ex:miHomdaCivic rdf:type ex:BienAsegurado .
- En Turtle/SPARQL se puede abreviar con `a`:
ex:miHondaCivic a ex:Vehiculo .
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelado con RDFS (II)
- `rdfs:Resource`: Clase de *todo* (En RDF, todo son recursos)
- `rdfs:Class`: Clase RDF
- `rdfs:Literal`: Clase de los literales
- `rdf:Property`: Clase de las propiedades
ex:ArticuloEnVenta rdf:type rdfs:Class .
ex:precio rdf:type rdf:Property .
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelado con RDFS (III)
- `rdfs:domain`: Dominio (conceptos a la que esa propiedad aplica)
- `rdfs:range`: Rango (valores que la propiedad puede aceptar)
ex:precio rdfs:domain rdf:ArticuloEnVenta .
ex:precio rdfs:range xsd:integer .
### ¡Inferencia!
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelado con RDFS (IV)
`subClassOf`
- Las instancias de una subclase lo son de su clase madre
- Las propiedades de una clase lo son de su clase hija (**herencia**)
ex:Coche rdfs:subClassOf ex:Vehiculo .
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelado con RDFS (V)
`subPropertyOf`
- Propiedades incluidas en otra propiedad más general
ex:tieneMadre rdfs:subPropertyOf rdf:tieneProgenitor
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## modelado con RDFS (VI)
- `rdfs:label`: texto descriptivo del recurso
- `rdfs:comment`: comentario más extenso sobre el recurso
- `rdfs:seeAlso`: enlaces a otras fuentes relevantes
- `rdfs:isDefinedBy`: relación del recurso con documento u ontología que lo define
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
### ejercicio
<!-- .slide: style="font-size:30px" -->
Expresar el siguiente conocimiento en RDF y RDFS. Utilizar un espacio de nombres 'ex' para la ontología creada, y Turtle como formato de serialización.
- El Curry Tailandés es un plato tailandés basado en leche de coco.
- El Curry Tailandés se prepara con cilantro.
- Pedro es alérgico a las nueces.
- El plato favorito de Pedro es el Curry Tailandés.
- Todos los alérgicos a las nueces son compadecibles.
- Todos los platos tailandeses son comestibles.
- Todo lo que satisfaga la propiedad "tieneIngrediente" es un ingrediente de cocina.
- Todo lo que tenga la propiedad "tieneIngrediente" es comestible.
- La propiedad "tieneEspecia" es un caso especial de la propiedad "tieneIngrediente".
</script>
</section>
</section>
<section>
<section data-id="1" data-markdown>
<script type="text/template">
# OWL
Web Ontology Language
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL
- Uno de los estándares principales de la web semántica
- Permite un modelado rápido y flexible
- Base para un razonamiento automático eficiente
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: características
- Más expresivo que otros lenguajes de modelado
- Flexible: modelado incremental
- Eficiente: permite soportar varios tipos de tareas de razonamiento
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: diferencias con RDFS
vocabulario
- OWL 2 Full incluye RDFS y ofrece mucho más
ex:Madre owl:intersectionOf (ex:Progenitor ex:Mujer)
ifca:johnSmith owl:sameAs personalDatabase:johnQSmith
ex:Padre owl:someValuesFrom (ex:tieneHijo ex:Persona)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: diferencias con RDFS (II)
**flexibilidad**
- OWL permite especificar cómo usar un vocabulario y cómo no usarlo
- OWL permite restringir los modelos de datos para permitir consultas más rápidas
>En RDFS un recurso puede definirse como clase e instancia simultáneamente. OWL 2 DL no lo permite.
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: diferencias con RDFS (III)
**anotaciones**
**meta-metadatos**
- OWL ofrece anotaciones para enlazar modelos de datos
owl:imports
owl:versionInfo
owl:backwardsCompatibleWith
owl:deprecatedProperty
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## perfiles de OWL
- Existen para permitir un trade-off entre expresividad en el modelado y requisitos computacionales en el razonamiento automático
- Si no se está usando OWL para razonamiento automático, se puede usar el perfil más expresivo (OWL 2 / Full)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## perfiles de OWL: OWL 2 Full
- El perfil más expresivo, permite usar todos los constructs disponibles
- Las reglas de inferencia pueden ser tan complejas que disparen el coste computacional (tiempo)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## perfiles de OWL: Otros perfiles
- OWL 2 **DL**: Alta expresividad, decidibilidad
- OWL 2 **EL**: Útil para gran número de propiedades y clases, inferencia en tiempo polinomial
- OWL 2 **QL**: Útil cuando hay muchas instancias, tecnología relacional (SQL)
- OWL 2 **RL**: Orientado a ejecución en motor de reglas de negocio ("rule-based technologies")
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: clases
- Una colección de individuos
- Una forma de describir parte del mundo
- Ej: persona, animal, dispositivo
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: propiedades
- Una colección de relaciones entre individuos
- Una forma de describir un tipo de relación entre individuos
- Ej: tienePadre, tieneAnimal, cumpleAños
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: individuos
- Objetos en el mundo
- Pertenecen a clases
- Se relacionan con otros objetos y con valores de datos a través de propiedades
- Ej: miguel, ayuntamientoDeSantander, ifca
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">
## OWL: clases y recursos
`intersectionOf`
- Cualquier instancia de la primera **clase** lo es también de las especificadas en la lista
ex:Madre ≡ owl:intersectionOf (ex:Mujer, ex:Progenitor)
</script>
</section>
<section data-id="1" data-markdown>
<script type="text/template">