bg.dbpedia.org started

Vladimir Alexiev & Boyan Simeonov

Ontotext Corp

2015-02-08 Sofia, 2015-02-09 Dublin

This is a 2D interactive presentation. Press O for overview, H for help.

Proudly made in plain text with reveal.js, org-reveal, org-mode and emacs.

Table of Contents

1 bg.dbpedia: Home Page

bg-home-page.png

1.1 Search With Autocomplete

bg-search.png

1.2 Resource Page (Vassil Levski)

bg-resource-Levski.png

2 Sample Queries

Брой факти

select (count(*) as ?c) {?s ?p ?o}

Брой страници

select (count(*) as ?c) {?thing foaf:isPrimaryTopicOf ?page}

Брой хора

select (count(*) as ?c) {?person a dbo:Person}

Брой организации

select (count(*) as ?c) {?org a dbo:Organisation}

Брой места

select (count(*) as ?c) {?place a dbo:Place}

Брой растения/животни

select (count(*) as ?c) {?place a dbo:Species}

Брой произведения

select (count(*) as ?c) {?place a dbo:Work}

3 Pages without type

Брой страници без тип

select (count(*) as ?c) {
  ?thing foaf:isPrimaryTopicOf ?page.
  filter not exists{?thing a ?type.
    filter (?type in (owl:Thing,dbo:Place,dbo:Species))}}

Страници без тип: с техните категории

select ?thing (group_concat(?cat;separator="; ") as ?cats) {
  ?thing foaf:isPrimaryTopicOf ?page.
  filter not exists{?thing a ?type.
    filter (?type in (owl:Thing,dbo:Place,dbo:Species))}
  ?thing dct:subject ?category.
  bind(strafter(str(?category),"http://bg.dbpedia.org/resource/Категория:") as ?cat)
} group by ?thing

4 Page Stats

Най-големи страници

select * {
  ?x dbo:wikiPageLength ?len
} order by desc(?len) limit 100

Страници с най-много линкове

select ?x (count(*) as ?links) {
  ?x dbo:wikiPageWikiLink ?l
} group by ?x order by desc(?links) limit 100

5 Settlements

Най-големи нас.места:

PREFIX bgdbp: 
PREFIX dbo: 
select ?x ?area {
  ?x bgdbp:wikiPageUsesTemplate ;
     dbo:areaLand ?area
} order by desc(?area) limit 100

5.1 Wrong Data

5.2 Place Parents

  • Няма структурно поле, което да индицира Settlements само в Bulgaria.

В момента информацията за административната структура на местата (и броят население) не може да се извлече

  • Причина: в bg.wikipedia, голяма част от информацията е заключена в lookup lists in sub-templates, като "ekatte" се ползва за ключ.
  • Напр за Мътеница https://bg.wikipedia.org/w/index.php?title=Мътеница_(село)&action=edit:
    {{Селище в България
    | екатте = 49624
    | надм-височина=441 ...
    
  • Извън шаблона (в свободен текст) се казва: "село в Южна България. То се намира в община Хисаря, Област Пловдив". Тези се извличат като линкове, но не в структурни полета.
  • The extraction framework cannot extract data from such lists. See issue #305: resolving lookup-list data out of sub-templates

5.3 Places With Biggest Population

Населени места с най-голямо население

PREFIX bgdbp: 
PREFIX dbo: 
select * {
  ?x bgdbp:wikiPageUsesTemplate ;
     dbo:populationTotal ?pop
} order by desc(?pop) limit 100

Ура! Тези май са верни :-)

6 Musical Artists

Музикални изпълнители и групи

PREFIX dbo: 
select * {
  ?x a ?type
  filter (?type in (dbo:MusicalArtist, dbo:Band))
}
  • 2559. Но само 111 са dbo:MusicalArtist?!? Напр. Лили Иванова и Горан Брегович излизат като dbo:Band (и оттам dbo:Organisation ;-))
  • Причината е, че мапингът Музикален_изпълнител имаше следният проблем:
    {{ Condition
      | templateProperty = фон
      | operator = isSet
      | mapping = {{ TemplateMapping | mapToClass = Band }}
    }}
    
  • Т.е. ако има поле "фон", то приеми че е Група. Напр. Горан Брегович: фон = инструменталист

6.1 ConditionalMapping

Сега го оправихме да има следната сложна логика:

  • Ако има поле "състав", "бивши_членове" или "създадена" -> Band
    • (Ами "членове"? Не знам)
  • Ако "фон" съдържа "група", "квартет", "ансамбъл", "хор" -> Band
  • Ако "фон" съдържа "композитор" -> MusicComposer
  • Ако "фон" съдържа "диригент" -> MusicDirector
  • Ако "фон" съдържа "певица" -> MusicalArtist, gender=dbo:Female
  • Ако "фон" съдържа "певец" -> MusicalArtist, gender=dbo:Male
  • Ако "фон" съдържа "пианист" -> MusicalArtist, gender=dbo:Male
  • Ако има поле "наставка" -> MusicalArtist, gender=dbo:Female
  • Иначе -> MusicalArtist, gender=dbo:Male

6.2 Data Improvement

  • Вече Лили Иванова не е Band (и Organisation), а MusicalArtist, gender=dbo:Female. Ура!
    • Макар че някои биха оспорили, че де-факто тя е институция в българската музика
  • По принцип шаблонът https://bg.wikipedia.org/wiki/Шаблон:Музикален_изпълнител казва, че "фон" трябва да е: певец, инструменталист, не_изпълнител, временно.
    • Но има мноого изключения, напр. "фолк певица" (е може ли без нея)
    • Нашият мапинг следва реалните данни
  • Тригонометрична_функция и България_на_Световното_първенство_по_футбол_1994?!?

7 Musical Genres

Музикални изпълнители за които са посочени жанрове

PREFIX dbo: 
select ?x (group_concat(?genre;separator="; ") as ?genres) {
  ?x a ?type. filter (?type in (dbo:MusicalArtist, dbo:Band))
  ?x dbo:genre ?g.
   bind (strafter(str(?g),"http://bg.dbpedia.org/resource/") as ?genre)
} group by ?x

7.1 Popular Genres

Музикални жанрове по популярност

PREFIX dbo: 
select ?genre (count(*) as ?c) {
  ?x a ?type. filter (?type in (dbo:MusicalArtist, dbo:Band))
  ?x dbo:genre ?g.
  bind (strafter(str(?g),"http://bg.dbpedia.org/resource/") as ?genre)
} group by ?genre order by desc(?c) limit 20
  • 520 жанра
  • Най-популярните са
    Поп_музика  356 (изненада!)
    Хард_рок    313
    Хеви_метъл  238
    

7.2 Making Charts

  • Charts directly from SPARQL: VISU, sgvizler (jsfiddle)
  • Or Query> Save as> TSV and make it in Excel
музикални-жанрове.png