Menü Kapat

Protege ile Gezi Ontolojisi üzerinde SPARQL

2015 yaz aylarında yaptığım küçük çaplı bir Türkiye gezisini bu ontolojide anlatmaya çalıştım(Şekil 1). Bunu yapmamdaki amaç belki de gelecekte böyle bir çalışma yaparak bazı şeyleri otomatik olarak internet üzerinden sorgulayan bir web tabanlı proje geliştirmek istememdir. Bu şekilde yapılacak ve tüm illeti kapsayacak bir çalışmada gezilecek yerler, aktiviteler, oteller gibi veriler girilerek ekonomik tatil yolları, aktivite önerilerini ve daha birçok veriyi kapsayacak bir portal oluşturulabilir.

Bu yazıda Protege nasıl kullanılır değil de bir ontoloji ve bu ontoloji üzerinde yapılan sorguları göstermek amaçlanmıştır. Protege ile ilgili yazının en altındaki faydalı linkler kısmındaki kaynaklardan faydalanabilirsiniz.

 

ontoloji
Şekil 1. 2016 yılında yapmayı planladığım gezinin ontolojisi  (Ontoloji dosyasını indirmek için tıklayınız.)

PROTEGE ÜZERİNDE YAPILAN SPARQL SORGULARI VE SONUÇLARI

SORGU 1: Bu sorgu ile Gezilecek_Yerler sınıfının alt sınıflarını listeledim
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX gez: <https://www.fikirjeneratoru.com/2016_Gezi_Plani.owl#>SELECT ?class
WHERE { ?class rdfs:subClassOf gez:Gezilecek_Yerler}
SONUÇ EKRANI
semantik_sekil2
Şekil 2. Gezi ontolojisinde Gezilecek_Yerler sorgusu sonucu
SORGU 2: Bu sorgu ile individual, property ve sınıflar listelenmektedir.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX gez: <https://www.fikirjeneratoru.com/2016_Gezi_Plani.owl#>Select ?ad  ?sehir
Where {
?Koyler rdf:type gez:Koyler;
gez:Koy_Adi ?ad;
gez:sehir ?sehir;
}
SONUÇ EKRANI
semantik_sekil3
Şekil 3. Gezi ontolojisinde gezilecek köyleri gösteren sorgu sonucu
SORGU 3: Bu sorguda Ordu ilindeki arkadaşımın kişisel bilgilerini listeledim.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX gez: <https://www.fikirjeneratoru.com/2016_Gezi_Plani.owl#>Select ?ad ?soyad ?sehir ?telefon
Where {
?Arkadaslar rdf:type gez:Arkadaslar;
gez:ad ?ad;
gez:soyad ?soyad;
gez:sehir ?sehir;
gez:telefon ?telefon;
FILTER regex(?sehir,’^ordu’,’i’)
}
SONUÇ EKRANI
semantik_sekil4
Şekil 4. Gezi ontolojisinde Ordu ilindeki arkadaşın bilgileri
SORGU 4: Bu sorguda gezi ontolojisinde bulunan arkadaşlar listelenmiş ve ORDER BY ile sıralanmıştır.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX gez: <https://www.fikirjeneratoru.com/2016_Gezi_Plani.owl#>
SELECT ?Arkadaslar
WHERE { ?Arkadaslar rdf:type gez:Arkadaslar
}
Order by ?Arkadaslar
SORGU SONUCU
semantik_sekil5
Şekil 5. Gezi ontolojisinde yanında kalınacak arkadaşların listesi.
SORGU 5: Tüm arkadaş bilgileri individual ve dataProperty sorgulaması yapılarak listelendi ve ada göre sıralandı
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX gez: <https://www.fikirjeneratoru.com/2016_Gezi_Plani.owl#>select ?ad ?soyad ?sehir ?telefon
where {
?Arkadaslar rdf:type gez:Arkadaslar;
gez:ad ?ad;
gez:soyad ?soyad;
gez:sehir ?sehir;
gez:telefon ?telefon;  }  ORDER BY ?ad
SORGU SONUCU
semantik_sekil6

Şekil 6. Gezi ontolojisinde yanında kalınacak arkadaşların tüm bilgileri.

Faydalı Linkler:

Protege ile ontoloji oluşturma videosu (Türkçe)
Ontoloji mantığını anlamanızı sağlayacak pizza ontolojisi (İngilizce)
Ontoloji mantığını anlamanızı sağlayacak pizza ontolojisi (Türkçe)

Aryıca Jena ile Java Dilinde SPARQL Sorgusu yazıma da bakabilirsiniz.

 

Posted in Bilişim, Yapay Zeka

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir