bağlı veri bulutu Üzerinde yazılım geliştirme

55
Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Upload: tayfun-goekmen-halac

Post on 18-Dec-2014

657 views

Category:

Technology


2 download

DESCRIPTION

31 Mayıs 2012 tarihinde UYMS'6 etkinliğinde Prof. Dr. Oğuz Dikenelli tarafından verilen eğitim semineri

TRANSCRIPT

Page 1: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Page 2: 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ı

Page 3: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Bilgiyi birçok değişik kaynakta arıyoruzBugün: Bir pazardaymış gibi

Page 4: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

… bazen çok fazla seçenek içinde ...

Page 5: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Yarın: Hazır sofra gibiBilgi bilgiyi yanında getirecek

Page 6: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Aradığımıza bir seferde ulaşamıyoruz

Page 7: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Beğenilen müzikler, takımlar ve katılınan etkinlikler bir

sosyal ağda bulunuyor

Dağınık verilere bir örnek

Page 8: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Ziyaret edilen mekanlar ile ilgili bilgiler bir başka sosyal ağda bulunuyor

Page 9: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

İki ayrı veri kaynağına bölünmüş veriler

Page 10: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Bir mekanda yer bildirimi yapmış olanların sevdiği

müzikler

Page 11: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

HTTP

URI

HTML

WWW mimarisinin bileşenleri üzerine...

Page 12: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Bir mekanda yer bildirimi yapmış olanların sevdiği

müzikler

http://seagent.ege.edu.tr/resource/Oguz

Page 13: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 14: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 15: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Yeni veri kaynakları

Tek tanımlayıcıTek

tanımlayıcı

Page 16: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Yeni veri kaynakları

Tek tanımlayıcıTek

tanımlayıcı

Ortak dil

Page 17: 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ı

Page 18: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 19: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 20: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 21: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 22: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 23: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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.

Page 24: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

RDF Veri Modeli ...

RDF/N3

RDF/XML

Page 25: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 26: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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...

Page 27: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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ış

Page 28: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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...

Page 29: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 30: Bağlı Veri Bulutu Üzerinde Yazılım Geliş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? ● …

Page 31: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

RDB2RDF

İlişkisel veritabanından RDF'e eşleme

Page 32: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

D2R Server

SPARQL to SQL

http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/publishing/images/architecture.png

Page 33: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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"; .

Page 34: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Bağlı Veri Bulutu

http://richard.cyganiak.de/2007/10/lod/

Page 35: 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ı

Page 36: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 37: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 38: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 39: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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ı

Page 40: 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ı

Page 41: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 42: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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ı

Page 43: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Tümleştirme Deseni

http://linkeddatabook.com/editions/1.0/images/Consumingarchitecture1_small.png

Page 44: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Canlı Çözümleme

Deseni

Page 45: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Sorgu Birleştirme

Deseni

Page 46: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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 ● …

Page 47: 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ı

Page 48: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Avustralya E-Devlet

Dunny Directories

Farmers Market

UV Rating

Know Where You Live

Page 49: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

İngiltere E-Devlet

Numberhood

UK Roadworks

Pitchup.com

UK Pharmacy

● 8,400 kaynak● 210 uygulama

Page 50: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

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

Page 51: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

BBC

● Programlar● Müzikler ● 2010 Dünya Kupası

Page 52: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

NY Times

Page 53: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

SAP

Page 54: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Sosyal Ağ Bağlayıcı

Page 55: Bağlı Veri Bulutu Üzerinde Yazılım Geliştirme

Sorular ???