Открытые базы знаний и семантические вики Катков Юрий, WikiVote! 1
1
Открытые базы знаний и
семантические викиКатков Юрий, WikiVote!
2
Содержание
• Linked Open Data и Semantic Web• Стандарты LOD• Основные базы знаний и примеры использования• Dbpedia• Мастер-класс по Dbpedia
3
Semantic web и Linked DataОсновные стандарты
4
Linked Open Data и Semantic Web
• Открытые базы знаний являются частью направления Semantic Web
• Ядром Semantic Web являются стандарты• Объект стандартизации – способ представления и обмена
данными• Linked Data использует только часть стандартов Semantic Web
5
Сл
оен
ый
пи
рог
SW
6
Сл
оен
ый
пи
рог
SW
7
URIUniform Resource Identifier
служит для однозначного именования
сущностей
основное правило: не существует двух объектов с одинаковыми URI
URL – частный случай URI
8
Сл
оен
ый
пи
рог
SW
9
позволяет представлять данные в виде троек, формируя граф данных
( subject , predicate , object )
RDF
10
позволяет представлять данные в виде троек, формируя граф данных
( subject , predicate , object )
RDF
URI URI URI или литерал
11
Леонардо место_рождения ВинчиЛеонардо дата_рождения 15.04.1452
Леонардо да Винчи родился в городе Винчи 15 апреля 1452 года
<http://ex.org/Leo> <http://ex.org/birthDate>
<http://ex.org/Vinci>
"1452-04-15"^^xsd:date
<http://ex.org/Leo> <http://ex.org/birthPlace>
12
позволяет представлять данные в виде троек, формируя граф данных
( subject , predicate , object )
RDF
вершина ребро вершина
13
Графовая модель удобна и гибка
14
Графовая модель удобна и гибка
15
Графовая модель удобна и гибка
16
Графовая модель удобна и гибка
17
RDF имеет несколько способов записи
18
RDF имеет несколько способов записи
Turtle
N-triplesN3
19
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix ex: <http://ex.org/> .
ex:Leo ex:birthDate "1452-04-15"^^xsd:date . ex:Leo ex:birthPlace ex:Vinci .
20
RDF имеет несколько способов записи
Turtle
N-triplesN3
XMLJSON
21
<?xml version="1.0"?> <rdf:RDF
xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:ex="http://ex.org/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://ex.org/Leo"> <ex:birthDate rdf:datatype = "http://www.w3.org/2001/XMLSchema#date">1452-04-15 </ex:birthDate>
<ex:birthPlace rdf:resource="http://ex.org/Vinci" /> </rdf:Description>
</rdf:RDF>
22
Сл
оен
ый
пи
рог
SW
23
RDFS и OWLСтандарты для создания структурированных словарей
24
RDFS и OWLСтандарты для создания структурированных словарей
КРАТКО
25
RDFS и OWLСтандарты для создания структурированных словарей
26
RDFS и OWLСтандарты для создания
структурированных словарей
27
RDFS и OWLСтандарты для создания
структурированных словарей
классификаций
28
RDFS и OWLСтандарты для создания
структурированных словарей
глоссариев
классификаций
29
RDFS и OWLСтандарты для создания
структурированных словарей
глоссариев
классификацийтезаурусов
30
RDFS и OWLСтандарты для создания
структурированных словарей
глоссариев
классификаций
тематических карт
тезаурусов
31
RDFS и OWLСтандарты для создания
структурированных словарей
глоссариев
таксономий
классификаций
тематических карт
тезаурусов
32
RDFS и OWLСтандарты для создания
структурированных словарей
глоссариев
таксономий
классификаций
тематических карт
тезаурусов
семантических сетей
33
RDFS и OWLСтандарты для создания
структурированных словарей
глоссариев
таксономий
классификаций
тематических карт
тезаурусов
семантических сетей
схем данных
34
RDFS и OWLСтандарты для создания
структурированных словарей
глоссариев
таксономий
классификаций
тематических карт
тезаурусов
семантических сетей
схем данных
TBox
35
RDFS и OWLСтандарты для создания
структурированных словарей
онтологий
схем данных
глоссариевсемантических сетей
таксономий
классификаций
тематических карт
тезаурусов
TBox
36
ЗАЧЕМ НУЖНЫ
Структурированные словари
онтологии
схемы данных
глоссариисемантические сети
таксономии
классификации
тематические карты
тезаурусы
TBox
37
Онтологии нужны для
38
стандартизациитерминологии
Онтологии нужны для
Предложение: связь национальностьБудем всегда называть терминомhttp://dbpedia.org/property/nationality« »
39
стандартизациитерминологии
автоматического обогащения данных
Онтологии нужны для
Предложение: связь национальностьБудем всегда называть терминомhttp://dbpedia.org/property/nationality« »
Любой, кто имеет свойствонациональность, является
человеком, а его национальностьявляется страной. А страна – это
частный случай населенного места« »
Давайте, если говорим о Леонардо даВинчи, будем всегда пользоваться его идентификатором в Dbpedia« »
40
Автоматическое обогащение данных
41
Автоматическое обогащение данных
42
Автоматическое обогащение данных
43
Автоматическое обогащение данных
44
Автоматическое обогащение данных
45
Автоматическое обогащение данных
46
Сл
оен
ый
пи
рог
SW
47
SPARQLЗапросы к RDF-данным
48
SPARQLSPARQL Protocol and RDF Query Language
49
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT * WHERE { ?a rdf:type dbpedia-owl:Company . } LIMIT 100OFFSET 300
Выполняем на dbpedia.org/sparql
50
51
?a rdf:type dbpedia-owl:Company
Запрос:
52
?a rdf:type dbpedia-owl:Company
Запрос:
53
Открытые базы знанийОбзор состава данных Linked dataПрименение в реальных приложениях
54
55
56
57
58
59
60
61
62
Откуда берутся дети?данные
63
Откуда берутся дети?данные
Их специально
создают
научные группы
64
Откуда берутся дети?данные
Их специально
создают
научные группы
Их публикуюткоммерческиефирмы
65
Откуда берутся дети?данные
Их специально
создают
научные группы
Их публикуюткоммерческиефирмы
они генерируютсяпо требованию
FOAF
DOAP
RDFizers
exporters
SIOC
66
Linked Data consumption
67
Для чего нужны данные
Их можноанализировать
На их основе можно строить
приложения для конечного
пользователя
На их основе можно строить
приложения не для конечногопользователя
Они могут быть частью
логики системы
(базой знаний в смысле ЭС)
68
На их основе можно строить
приложения для конечного
пользователя
Открытые гос. данные
Данные о фильмахЭнциклопедические данные
Данные о музыке
69
Для чего нужны данные
Их можноанализировать
На их основе можно строить
приложения для конечного
пользователя
На их основе можно строить
приложения не для конечногопользователя
Они могут быть частью
логики системы
(базой знаний в смысле ЭС)
70
Усиление алгоритмов мат.лингвистики
На их основе можно строить
приложения не для конечногопользователя
Рекомендационные системы
71
Для чего нужны данные
Их можноанализировать
На их основе можно строить
приложения для конечного
пользователя
На их основе можно строить
приложения не для конечногопользователя
Они могут быть частью
логики системы
(базой знаний в смысле ЭС)
72
Их можноанализировать
Data journalism
Eurostat
Открытые гос.данные
73
Для чего нужны данные
Их можноанализировать
На их основе можно строить
приложения для конечного
пользователя
На их основе можно строить
приложения не для конечногопользователя
Они могут быть частью
логики системы
(базой знаний в смысле ЭС)
74
Они могут быть частью
логики системы
(базой знаний в смысле ЭС)
Pubmed
GALEN
SNOMED-CT
75
Для чего нужны данные
Их можноанализировать
На их основе можно строить
приложения для конечного
пользователя
На их основе можно строить
приложения не для конечногопользователя
Они могут быть частью
логики системы
(базой знаний в смысле ЭС)
76
Как искать данные
Общаться
Смотреть каталоги Смотреть визуализации
Искать как текст
Mailing lists
Q&Aфорумы
CKAN
Swoogle
Sig.ma Sindice
77
78
Как знакомиться с данными
Пробные
SPARQL-запросы Смотреть визуализации
Погулять по датасетуCKAN descriptions Sig.ma
Посмотреть метаданные
MarblesVoiD
Semantic Sitemap
LinksailorПосмотреть статистику
80
http://mappings.dbpedia.org/server/statistics/ru/
81
Пробные SPARQL-запросыSELECT DISTINCT ?p WHERE { ?s ?p ?o .} LIMIT 1000
Прагматическое введение в Linked Data 82
Пробные SPARQL-запросы
16.03.2012
SELECT ?p (COUNT ?p as ?countPredicate) WHERE { ?s ?p ?o}GROUP BY ?pORDER BY DESC (?countPredicate)LIMIT 100
83
Повсеместно используемые термины
rdf:typeskos:Concept
rdfs:Class
rdfs:subClassOf
owl:Class
rdfs:label
owl:sameAs
a
84
Очень частые термины
foaf:name dc:subject
rdfs:domain
rdfs:rangeskos:related
http://dbpedia.org/sparql
93
SELECT * WHERE { ?a <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Company> . } LIMIT 100
94
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
SELECT * WHERE { ?a rdf:type dbpedia-owl:Company . } LIMIT 100
95
SELECT * WHERE { ?a rdf:type dbpedia-owl:Company . } LIMIT 100
96
SELECT * WHERE{ ?a rdf:type dbpedia-owl:Company . ?a dbpprop:companyName ?corporation .}LIMIT 100
97
SELECT * WHERE{
?a rdf:type dbpedia-owl:Company ; dbpprop:companyName ?corporation .}LIMIT 100
98
SELECT * WHERE{ ?companyURL rdf:type dbpedia-owl:Company ; dbpprop:companyName ?corporation ; dbpedia-owl:foundedBy ?founderURL . }LIMIT 100
99
SELECT * WHERE{ ?companyURL rdf:type dbpedia-owl:Company; dbpprop:companyName ?corporation ; dbpedia-owl:foundedBy ?founderURL . ?founderURL rdf:type dbpedia-owl:Artist .}LIMIT 100
100
SELECT * WHERE{ ?companyURL rdf:type dbpedia-owl:Company ; dbpprop:companyName ?corporation ; dbpedia-owl:foundedBy ?founderURL . { ?founderURL rdf:type dbpedia-owl:Artist. } UNION { ?founderURL rdf:type dbpedia-owl:Actor. } UNION { ?founderURL rdf:type dbpedia-owl:MartialArtist. } UNION { ?founderURL dbpedia-owl:occupation dbpedia:Martial_arts.} }LIMIT 100
101
SELECT * WHERE{ ?companyURL rdf:type dbpedia-owl:Company ; dbpprop:companyName ?corporation ; dbpedia-owl:foundedBy ?founderURL . ?founderURL rdf:type dbpedia-owl:Artist ; rdf:type dbpedia-owl:Actor ; rdf:type dbpedia-owl:MartialArtist ; dbpedia-owl:occupation dbpedia:Martial_arts .}LIMIT 100
102
SELECT * WHERE{ ?companyURL rdf:type dbpedia-owl:Company ; dbpprop:companyName ?corporation ; dbpedia-owl:foundedBy ?founderURL . ?founderURL dbpedia-owl:birthDate ?founderBirth . FILTER (?founderBirth > "1940-03-10"^^xsd:date ) . { ?founderURL rdf:type dbpedia-owl:Artist. } UNION { ?founderURL rdf:type dbpedia-owl:Actor. } UNION { ?founderURL rdf:type dbpedia-owl:MartialArtist. } UNION { ?founderURL dbpedia-owl:occupation dbpedia:Martial_arts.}}LIMIT 100