bağlı veri bulutu Üzerinde yazılım geliştirme
DESCRIPTION
31 Mayıs 2012 tarihinde UYMS'6 etkinliğinde Prof. Dr. Oğuz Dikenelli tarafından verilen eğitim semineriTRANSCRIPT
Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme
İçerik● Gereksinim● Bağlı veri çözümü ● Bağlı verinin sorgulanması ● Bağlı veri uygulamalarının mimarisi ● Durum çalışmaları
Bilgiyi birçok değişik kaynakta arıyoruzBugün: Bir pazardaymış gibi
… bazen çok fazla seçenek içinde ...
Yarın: Hazır sofra gibiBilgi bilgiyi yanında getirecek
Aradığımıza bir seferde ulaşamıyoruz
Beğenilen müzikler, takımlar ve katılınan etkinlikler bir
sosyal ağda bulunuyor
Dağınık verilere bir örnek
Ziyaret edilen mekanlar ile ilgili bilgiler bir başka sosyal ağda bulunuyor
İki ayrı veri kaynağına bölünmüş veriler
Bir mekanda yer bildirimi yapmış olanların sevdiği
müzikler
HTTP
URI
HTML
WWW mimarisinin bileşenleri üzerine...
Bir mekanda yer bildirimi yapmış olanların sevdiği
müzikler
http://seagent.ege.edu.tr/resource/Oguz
Benimle aynı takımı tutan aynı şehirdeki arkadaşlarımın bu
şehirde yer bildirimi yaptıkları mekanlar
http://seagent.ege.edu.tr/resource/Oguz
Benimle aynı takımı tutan aynı şehirdeki arkadaşlarımın bu
şehirde yer bildirimi yaptıkları mekanlar
http://seagent.ege.edu.tr/resource/Oguz
http://seagent.ege.edu.tr/resource/Izmir
http://seagent.ege.edu.tr/property/city
http://seagent.ege.edu.tr/property/location
Yeni veri kaynakları
Tek tanımlayıcıTek
tanımlayıcı
Yeni veri kaynakları
Tek tanımlayıcıTek
tanımlayıcı
Ortak dil
İçerik✔ Gereksinim● Bağlı veri çözümü ● Bağlı verinin sorgulanması ● Bağlı veri uygulamalarının mimarisi ● Durum çalışmaları
Bağlı Veri Çözümü*
● Varlıkları tanımlamak için URI'ler kulanın (yalnızca sayfalar için değil)
● HTTP URI'ler kullanın ● Evrensel olarak tekil isimler, dağıtık aidiyet ● Erişilebilmeyi sağlar
● Verdiğiniz URI'ye erişmek istendiğinde gerekli bilgiyi RDF olarak verin
● Başka URI'lere RDF bağlantıları yapın● Böylece ilişkili veriye ulaşılabilsin
* http://www.w3.org/DesignIssues/LinkedData.html
http://dbpedia.org/resource/İzmir_Clock_Tower
http://dbpedia.org/ontology/location
http://dbpedia.org/resource/İzmirhttp://www.itusozluk.com/image/izmir-saat-kulesi_225.jpg
http://dbpedia.org/resource/İzmir
http://dbpedia.org/ontology/leaderName
http://dbpedia.org/resource/Aziz_Kocaoğluhttp://www.itusozluk.com/image/izmir-saat-kulesi_225.jpg
Temel Kavramlar*
● Kaynaklar ● Bilgi kaynakları: Sayfalar, belgeler, resimler,
videolar, … – Temsiller: HTML, RDF/XML, PDF, JPEG, …
● Bilgi-dışı kaynaklar: İnsanlar, ürünler, yerler, proteinler, konferanslar, …
● HTTP URI ● Bilgi kaynakları: HTTP 200 OK ● Bilgi dışı kaynaklar: HTTP 303 See Other
* http://linkeddatabook.com/editions/1.0/#htoc8
Bilgi Dışı Kaynakların Çözümlenmesi
http://dbpedia.org/resource/Izmir
http://dbpedia.org/data/Izmir
http://www4.wiwiss.fu-berlin.de/bizer/pub/linkeddatatutorial/deref-ont-uri-rdf.png
RDF Veri Modeli● Varlıklar hakkındaki bilginin temsili ● RDF – Resource Description Framework
● Kaynak Tanımlama Çerçevesi ● Üçlüler
● Özne – Yüklem – Nesne ● Basit cümleler
– Oğuz | has the email address | [email protected] – Oğuz | is employed by | Ege University.
RDF Veri Modeli ...
RDF/N3
RDF/XML
RDF Veri Modeli ...
<http://etmen.ege.edu.tr/etmen/foaf/halac/foaf.rdf#tayfun> <http://xmlns.com/foaf/0.1/based_near>
<http://dbpedia.org/resource/İzmir>
Başka bir kaynağa işaret ediyor
RDF Veri Modeli ...
<http://dbpedia.org/resource/İzmir> <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/Turkey>
geonames:311046owl:sameAs
Diğer kaynak çözümleniyor...
RDF Veri Modeli ...
<http://dbpedia.org/resource/İzmir> <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/Turkey>
geonames:311046owl:sameAs
Aynı varlığın diğer tanımları bağlanmış
RDF Veri Modeli ...
<http://dbpedia.org/resource/Ankara> <http://dbpedia.org/ontology/country> <http://dbpedia.org/resource/Turkey>
geonames:311046owl:sameAs
Gerektiğinde çözümlemeye devam edilerek yeni kaynaklara ulaşılıyor...
Bağlı Veri Yayınlama Yolları ● Statik RDF dosyaları ● Üçlü veritabanları ● İlişkisel veritabanlarının bağlı veri görünümünde
yayınlanması ● CVS, Excel, Bibtex gibi biçemler için RDF
dönüştürücüler kullanılması ● Mevcut uygulamalar ya da Web API'leri için
sarmalayıcılar gerçekleştirme
Bağlı Veri Yayınlama Yolları ...● Seçim
● Ne kadar veri yayınlayacaksınız? ● Şu anda var olan verinizi nasıl saklıyorsunuz?● Veriniz ne kadar sıklıkla değişiyor? ● …
RDB2RDF
İlişkisel veritabanından RDF'e eşleme
D2R Server
SPARQL to SQL
http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/publishing/images/architecture.png
ProductsID Name
1 HD Television2 Playstation3 iPhone4 LCD Monitor
http://seagent.ege.edu.tr/resource/2
http://seagent.ege.edu.tr/vocabulary/Producthttp://seagent.ege.edu.tr/vocabulary/name
Tablo-kavram eşlemesi
Saha-İlişki eşlemesi
Tanımlayıcı oluşturulması
map:ProductClassMap a d2rq:ClassMap; d2rq:uriPattern "http://seagent.ege.edu.tr/resource/@@Products.ID@@"; d2rq:class http://seagent.ege.edu.tr/vocabulary/Product; .map:ProductName a d2rq:PropertyBridge; d2rq:belongsToClassMap map:ProductClassMap; d2rq:property http://seagent.ege.edu.tr/vocabulary/name; d2rq:column "Products.Name"; .
Bağlı Veri Bulutu
http://richard.cyganiak.de/2007/10/lod/
İçerik✔ Gereksinim✔ Bağlı veri çözümü ● Bağlı verinin sorgulanması ● Bağlı veri uygulamalarının mimarisi● Durum çalışmaları
Bağlı Veri Sorgu Dili● Bilinmeyen bağlantıların keşfi ● Üçlü desenleri
● Oğuz Dikenelli'nin çocuklarının isimleri nedir? seagent:Oguz family:child ?child
?child foaf:name ?name● Sorgu biçimleri
● SELECT ● ASK ● CONSTRUCT ● DESCRIBE
Stadyum kapasitesi 40 binden büyük olan bir takımda oynayan ve 10 milyondan fazla nüfusu
olan bir ülkede doğmuş olan kaleciler● Olivier Kahn is a Soccer Player
● ?who is a Soccer Player● Olivier Kahn is a ?what ● Olivier Kahn ?what Soccer Player
Bir üçlü için 3 farklı soru sorulabilir
Bunların bir araya getirilmesiyle daha karmaşık sorgular oluşturulabilir
SPARQL Uç Noktaları SELECT * WHERE { SERVICE <http://dbpedia.org/sparql> { ?dbCity dbp-owl:country dbpedia:Turkey } SERVICE <http://linkedgeodata.org/sparql> { ?lgdCity owl:sameAs ?dbCity }}
sorgu
sonuç HTTP
Birleşik sorgulama ● Dağıtık veri kümelerinin bir arada sorgulanması ● Veri Kümesi Üst-verisi
● VOID – Vocabulary of Interlinked Datasets ● VOID Kayıtçıları
İçerik✔ Gereksinim✔ Bağlı veri çözümü ✔ Bağlı verinin sorgulanması ● Bağlı veri uygulamalarının mimarisi ● Durum çalışmaları
Bağlı Veri Tüketimi ● Uygulama ihtiyaçları
● Bağlı veriye erişme– Okuma– Sorgulama– Arama (Sindice vb.)
● Kimlik çözümleme ● Sözlük eşleme ● Kaynak izleme ● Veri kalitesi değerlendirme
Bağlı Veri Tüketimi ...● Uygulama mimarisinin seçimindeki etkenler
● Kullanılacak veri kaynaklarının sayısı● Gereksinim duyulan veri tazeliği derecesi ● Kullanıcı etkileşimleri ve sorgular için gereksinim
duyulan yanıt zamanı ● Çalışma zamanında yeni veri kaynaklarının keşfinin
kapsamı
Tümleştirme Deseni
http://linkeddatabook.com/editions/1.0/images/Consumingarchitecture1_small.png
Canlı Çözümleme
Deseni
Sorgu Birleştirme
Deseni
Araç Kümesi ● RDF/OWL API● Sorgu motoru● SPARQL Sunucusu ● RDF Saklayıcı (Üçlü/Dörtlü Saklayıcı) ● RDB2RDF Sunucusu ● RDF Dönüştürücü ● Çıkarsama Motoru ● Toplayıcı ● Kimlik Çözümleyici● Sözlük Eşleyici ● …
İçerik✔ Gereksinim✔ Bağlı veri çözümü ✔ Bağlı verinin sorgulanması ✔ Bağlı veri uygulamalarının mimarisi ● Durum çalışmaları
Avustralya E-Devlet
Dunny Directories
Farmers Market
UV Rating
Know Where You Live
İngiltere E-Devlet
Numberhood
UK Roadworks
Pitchup.com
UK Pharmacy
● 8,400 kaynak● 210 uygulama
ABD E-Devlet ● 445,287 kaynak● 172 kurum● 1,248 resmi uygulama● 236 vatandaş uygulaması
Fly On Time
National Obesity
Comparison Tool
Employement Market
Explorer
BBC
● Programlar● Müzikler ● 2010 Dünya Kupası
NY Times
SAP
Sosyal Ağ Bağlayıcı
Sorular ???