semantİk web (web 3.0) teknolojİsİ kullanilarak e-
TRANSCRIPT
T.C.
SÜLEYMAN DEMİREL ÜNİVERSİTESİ
FEN BİLİMLERİ ENSTİTÜSÜ
SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK
ÖRNEK BİR e-DERS İÇERİĞİ HAZIRLAMA
Harun ÇAKIR
Danışman
Yrd. Doç. Dr. Mehmet ALBAYRAK
YÜKSEK LİSANS TEZİ
ELEKTRONİK BİLGİSAYAR EĞİTİMİ ANABİLİM DALI
ISPARTA - 2013
©2013 [Harun ÇAKIR]
TEZ ONAYI
Harun ÇAKIR tarafından hazırlanan "Semantik Web (Web 3.0) Teknolojisi
Kullanılarak Örnek Bir E-Ders İçeriği Hazırlama"adlı tez çalışması aşağıdaki
jüri üyeleri önünde Süleyman Demirel ÜniversitesiFen Bilimleri Enstitüsü
Elektronik Bilgisayar Eğitimi Anabilim Dalı’nda YÜKSEK LİSANS TEZİ
olarak başarı ile savunulmuştur.
Danışman Yrd. Doç. Dr. Mehmet ALBAYRAK ..............................
Süleyman Demirel Üniversitesi
Uzaktan Eğitim MYO
Jüri Üyesi Adı Soyadı .............................
Süleyman Demirel Üniversitesi
Elektronik- Bilgisayar Eğitimi Anabilim Dalı
Jüri Üyesi Adı Soyadı ..............................
Süleyman Demirel Üniversitesi
Elektronik- Bilgisayar Eğitimi Anabilim Dalı
Enstitü Müdürü Prof. Dr. Mehmet Cengiz KAYACAN ..............................
TAAHHÜTNAME
Bu tezin akademik ve etik kurallara uygun olarak yazıldığını ve kullanılan tüm
literatür bilgilerinin referans gösterilerek tezde yer aldığını beyan ederim.
Harun ÇAKIR
i
İÇİNDEKİLER
Sayfa
İÇİNDEKİLER ................................................................................................... i
ÖZET................................................................................................................... ii
ABSTRACT ........................................................................................................ iii
TEŞEKKÜR ........................................................................................................ iv
ŞEKİLLER DİZİNİ ............................................................................................. v
ÇİZELGELER DİZİNİ ....................................................................................... vi
SİMGELER VE KISALTMALAR DİZİNİ ....................................................... vii
1. GİRİŞ .............................................................................................................. 1
2. KAYNAK ÖZETLERİ ................................................................................... 4
3. MATERYAL VE YÖNTEM .......................................................................... 11
3.1. Uzaktan Eğitim ........................................................................................ 11
3.1.1. Uzaktan eğitim türleri ...................................................................... 12
3.1.2. Uzaktan eğitim yöntemleri .............................................................. 14
3.1.3. Uzaktan eğitim ve Internet ilişkisi ................................................... 15
3.1.4. Web tabanlı uzaktan eğitim sistemi ................................................. 15
3.1.5. Uzaktan eğitim avantaj ve dezavantajları ........................................ 16
3.2. Anlamsal Web (Semantic Web) ve Kullanılan Diller ............................. 18
3.2.1. Anlamsal web tanımı ....................................................................... 19
3.2.2. Ontolojiler ........................................................................................ 21
3.2.3. Anlamsal web dilleri ........................................................................ 23
3.2.3.1. XML (ExtensibleMarkup Language) ...................................... 24
3.2.3.2. RDF (Resource Description Framework) ................................. 26
3.2.3.3. OIL (Ontology Inference Layer) ve DAML+OIL (Darpa Agent
Markup Language) .................................................................... 27
3.2.3.4. OWL (Web Ontology Language) ............................................. 28
3.2.3.5. SPARQL ................................................................................... 30
3.3. Ontoloji Geliştirme Araçları .................................................................... 31
3.3.1. Protégé ........................................................................................ 32
3.3.2. Jena ............................................................................................. 33
3.3.3. NetBeans .................................................................................... 34
4. ARAŞTIRMA BULGULARI ......................................................................... 35
4.1. Ontolojinin Oluşturulması ....................................................................... 35
4.1.1. Ontolojide sınıflar ve altsınıfların oluşturulması ............................. 36
4.1.2. Özelliklerin belirlenmesi ve tanımlanması ...................................... 37
4.2. Jena ile SPARQL sorgularının çalıştırılması ........................................... 40
4.3. Java Dili ile Arayüzün Hazırlanması ....................................................... 42
5. TARTIŞMA VE SONUÇLAR ....................................................................... 45
KAYNAKLAR ................................................................................................... 47
EKLER ................................................................................................................ 52
EK A. ComputerNetworks Ontolojisinin OWL/XML Kodu ......................... 53
EK B. Uygulamanın Java Kodu ..................................................................... 64
ÖZGEÇMİŞ ........................................................................................................ 79
ii
ÖZET
Yüksek Lisans Tezi
SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK ÖRNEK
BİR e-DERS İÇERİĞİ HAZIRLAMA
Harun ÇAKIR
Süleyman Demirel Üniversitesi
Fen Bilimleri Enstitüsü
Elektronik-Bilgisayar Eğitimi Anabilim Dalı
Danışman: Yrd. Doç. Dr. Mehmet ALBAYRAK
Uzaktan eğitim uygulamalarında, karma eğitim modeli kullanılmayan öğrenme
ortamlarında, sanal sınıf ortamının getirdiği dezavantajlar arasında; etkileşim
eksikliği, öğrencinin çevirimdışı olarak izlediği derslerde sorularına cevap bulmakta
zorlanması ya da ihtiyacı olan bilgiye anında ulaşamaması sayılabilir. Öğretim
teknolojileri alanında Anlamsal Ağ (Web 3.0) teknolojileri kullanımının artması,
asenkron eğitimde karşılaşılan sorunların çözümüne katkıda bulunabilecektir.
Anlamsal Ağ uygulamaları, sorgulamaların anlam tabanlı olmasına ve kullanıcı
etkisine gerek duyulmadan bilgisayar tarafından çıkarsama yapılmasına olanak
sağlamaktadır. Ayrıca kullanıcının yapmış olduğu sorgulama kriterlerine göre arama
sonuçları daraltılarak doğru sonuca daha kısa sürede ulaşılması hedeflenmektedir.
Bu çalışmada; web servisleri ile uzaktan eğitim platformlarına entegre edilebilecek
yapıda anlamsal ağ teknolojileri kullanılarak bir ontoloji geliştirilmiş ve sorgulama
arayüzü hazırlanmıştır. Örnek olarak “Bilgisayar Ağları” dersinden hazırlanan bölüm
içeriğinde, öğrencilerin en sık sorduğu kavramlar tespit edilmiş ve bu kavramların
ilgili olduğu diğer bölümlerle arasındaki ilişkiler Ontology Web Language
kullanılarak oluşturulan ontolojilerde tanımlanmıştır. Öğrenci ders içeriğini
çevirimdışı olarak takip ederken, öğrenmek istediği kavramı hazırlanan arayüzden
seçecek ve ilişkili olduğu diğer konuları görebilecektir. Aynı zamanda öğrenci
tasarlanan arayüz yardımı ile kavramlar arasındaki bağlantıyı net olarak
görebilecektir. Hazırlanan uygulama sayesinde, öğrencilerin konu bütünlüğünü
kaybetmeden öğrenmesi ve merak ettikleri sorulara hızlı ve doğru cevaplar
bulabilmesi sağlanmıştır.
Anahtar Kelimeler: Anlamsal Web, OWL, Protégé, Ontoloji, Uzaktan Eğitim.
2013, 79 sayfa
iii
ABSTRACT
M.Sc. Thesis
PREPARING AN EXAMPLE e-LESSON BY USING SEMANTIC WEB
(WEB 3.0) TECHNOLOGY
Harun ÇAKIR
Süleyman Demirel University
Graduate School of Natural and Applied Sciences
Department of Electronics and Computer Education
Supervisor: Asst. Prof. Dr. Mehmet ALBAYRAK
In distance-learning applications, lack of communication, difficulty of students in
finding answers to their questions in lessons which are followed in off-line and their
failure to reach information needed as much as possible are among the disadvantages
brought by imaginary classroom in learning environments where mixed learning
model is not employed. In the field of teaching technologies, increased use of
Semantic Web (Web 3.0) technologies will make contributions to solve problems
encountered in asynchronous education. Semantic Web applications enable queries
to be semantic-based and to be deducted by computer without needs for influence of
user. In addition, according to query criteria made by user, the aim is to reach
information by narrowing the searching results.
In this study, ontology is developed by using semantic web technologies which can
be integrated to distance learning platforms via web services and query interface is
prepared. As an example, concepts which are frequently asked by students in the
content prepared from ‘Computer Webs’ and the relations between these concepts
and other related sections are defined in ontologies created by using Ontology Web
Language. While students can follow the content of lesson when they are off-line,
they will choose the concept they want to learn from interface chosen and can learn
other related topics. At the same time, students can accurately see the connection
between the concepts via interface. Thanks to the application prepared, students are
enabled to learn without losing entirety of the topics and be able to find rapid and
true answers to their questions.
Keywords: Semantic Web, OWL, Protégé, Ontology, Distance Learning
2013, 79 pages
iv
TEŞEKKÜR
Bu araştırma için beni yönlendiren, karşılaştığım zorlukları bilgi ve tecrübesi ile
aşmamda yardımcı olan değerli Danışmanım Yrd. Doç. Dr. Mehmet ALBAYRAK’ a
teşekkürlerimi sunarım. Tez çalışmamın birçok aşamasında desteğini esirgemeyen
değerli dostum Öğr. Gör. Mahmut KILIÇASLAN’ a sonsuz teşekkürlerimi sunarım.
2833-YL-11 No`lu Proje ile tezimi maddi olarak destekleyen Süleyman Demirel
Üniversitesi Bilimsel Araştırma Projeleri Yönetim Birimi Başkanlığı’na teşekkür
ederim.
Tezimin her aşamasında beni yalnız bırakmayan, göstermiş olduğu sabır ve
destekleri için eşim Zeynep ÇAKIR’ a ve aileme sonsuz teşekkür eder, sevgi ve
saygılarımı sunarım.
Harun ÇAKIR
ISPARTA, 2013
v
ŞEKİLLER DİZİNİ
Sayfa
Şekil 3.1. Uzaktan eğitim gelişimi .................................................................... 14
Şekil 3.2. Anlamsal web dilleri mimarisi .......................................................... 18
Şekil 3.3. Günümüzde kullanılan webin ve Anlamsal webin karşılaştırması ... 19
Şekil 3.4. Anlamsal webin katmanlı yapısı ....................................................... 20
Şekil 3.5. Basit bir ontoloji örneği .................................................................... 22
Şekil 3.6. Örnek XML formatı .......................................................................... 24
Şekil 3.7. OWL dilini oluşturan alt diller ......................................................... 28
Şekil 3.8. SPARQL sorgu biçimi ...................................................................... 30
Şekil 3.9. Protégé arayüzü ................................................................................ 33
Şekil 3.10. NetBeans IDE 7.1.2 ekran görüntüsü ............................................... 34
Şekil 4.1. ComputerNetworks ontolojisinin Protégé görüntüsü........................ 36
Şekil 4.2. FizikselTopoloji sınıfının üyeleri ...................................................... 37
Şekil 4.3. Domain ve Range kavramları örneği ................................................ 38
Şekil 4.4. ObjectProperty örnekleri ................................................................... 38
Şekil 4.5. Hub cihazının ilişkili olduğu diğer üyeler ........................................ 39
Şekil 4.6. DataProperty örnekleri ...................................................................... 39
Şekil 4.7. ComputersNetworks ontolojisinin OntoGraf görüntüsü ................... 40
Şekil 4.8. SPARQL sorgu örneği ...................................................................... 41
Şekil 4.9 Uygulamada kullanılan sorgu örneği ................................................ 42
Şekil 4.10. Switch cihazının “Kullandığı Kablo” sorusu ve cevabı .................... 43
Şekil 4.11. Hub cihazının özellikleri ve görünümü............................................. 44
vi
ÇİZELGELER DİZİNİ
Sayfa
Çizelge 3.1. Uzaktan eğitim türleri ..................................................................... 13
Çizelge 3.2. RDF-S veri modeli tanımlama elemanları ...................................... 27
vii
SİMGELER VE KISALTMALAR DİZİNİ
AEGONT Aegean Ontology Development Environment
DAML+OIL DARPA Agent Markup Language
DARPA The Defense Advanced Research Projects Agency
DTD Document Type Definition
HTTP Hyper-Text Transfer Protocol
IRC Internet Relay Chat
MEB Milli Eğitim Bakanlığı
OIL Ontology Inference Layer
OML Ontology Markup Language
OWL Web Ontology Language
OWL-DL OWL Description Logic
RDF Resource Description Framework
RDF-S RDF-Schema
SCORDRA Content Object Repository Discovery and Registration/Resolution
Architecture
SEMMAS SEMantic Web Services and Multi-Agent System Framework
SHOE Simple HTML Ontology Extension
SOAP Simple Object Access Protocol
SPARQL Sparql Protocol and RDF Query Language
UHOS Uygulanır hiper ortam sistemi
URI Uniform Resource Identifier
URL Uniform Resource Locator
USDLA United States Distance Learning Association
ZÖS Zeki öğretim sistemi
XML eXtensible Markup Language
XOL Ontology Exchange Language
WSDL Web Service Definition Language
WTUE Web Tabanlı Uzaktan Eğitim
WWW World Wide Web
W3C World Wide Web Consortium
1
1. GİRİŞ
Günümüzde teknolojini gelişmesiyle eğitimde yeni yaklaşımlar ortaya çıkmaktadır.
Geçmişte çok sık yer bulan öğretmen merkezli geleneksel eğitim-öğretim
yaklaşımlarından terk edilerek yerine bireyi merkeze alan, sorgulayan, araştıran
bireyler yetiştirmeyi hedefleyen, eğitim öğretim süreci içerisinde öğreneni sürekli
aktif kılan modeller kullanılmaya başlanmıştır. İlerlemecilik ve yeniden kurmacılık
eğitim felsefesi yaklaşımlarıyla, bilginin yaşantı yoluyla elde edilebileceği, bireysel
özelliklerin ve öğrenci katılımının önemli olduğu, bilginin değişebileceği, bireyin
problem çözme becerisin geliştirilmesi gibi durumlar önem kazanmıştır (Çelik,
2006).
Bilgi çağı olarak adlandırılan içinde bulunduğumuz 21. yy’ da bilgi teknolojileri
hızla gelişmektedir. Bilgi teknolojilerindeki bu gelişmeler, uzaktan eğitim
uygulamaları ile küresel iletişim ağının gelişmesine önemli katkılar sağlamıştır.
Geçmiş yıllarda toplumlar için ütopya sayılan uzaktan eğitim uygulamaları bilgi
teknolojilerindeki gelişmelerle birlikte günümüzde küresel iletişim ağı üzerinden
kolaylıkla uygulanabilir hale gelmiştir.
Uzaktan eğitim; farklı ortamlarda bulunan öğrenci ve öğretmenlerin, öğrenme ve
öğretme faaliyetlerini, iletişim teknolojileri ve posta hizmetleri ile gerçekleştirdikleri
bir eğitim sistemi modelini ifade eder (İşman, 2011).
Öğrenme ve öğretmede uzaktan eğitim sisteminden etkili şekilde yararlanabilmenin
anahtarı etkileşimin kullanılmasıdır. Her ne kadar Internet yoluyla eğitim yazılı, yüz
yüze, sesli ve görsel iletişime geleneksel sınıf ortamında olduğuna benzer şekilde
olanak tanısa da, Internet yoluyla eğitim teknolojisi sınıf ortamını değiştirmekte;
öğretmen ve öğrencilerin bazı sorunları yaşamasına neden olabilmektedir. Değişik
yerlerdeki katılımcıların, teknolojinin kullanımı için ayarlamalar yapmaları ve bir
bilgisayar aracılığıyla kısıtlı görüntü kalitesinde uygun ortam şartlarında bir iletişim
kurmaları gerekmektedir. Teknolojiyi kullanıma hazır hale getiren öğretmenler
önemli bir öğedir. Ancak daha önemlisi öğrenci etkileşim stratejilerini, öğrenme ve
öğretme deneyimiyle birleştirmek ve öğretimi özelleştirmektir (Kaya, 2002).
2
Günümüzde kullanılan uzaktan eğitim sistemlerinde öğretmenle öğrencilerin
karşılıklı yazışması, konuşması, ders içeriklerinin zenginleştirilmesi gibi yöntemlerle
etkileşim arttırılmaya çalışılmaktadır. Ancak uzaktan eğitimin en önemli
özelliklerinden biri olan zamandan ve mekândan bağımsız eğitim ortamının
sağlanması, uzaktan eğitim sistemine dâhil olan öğrenci sayısının fazlalığı,
kullanıcıların teknolojik alt yapı sorunları gibi bazı durumlar etkileşimi eksikliğine
neden olmaktadır. Bu durum, öğrencinin derse olan ilgisini azaltarak kalıcı
öğrenmenin karşısında engel oluşturmaktadır.
Anlamsal web, günümüzde kullanılan web teknolojileriyle sadece insanlar için
anlamlı olan web sayfalarının içeriklerini makineler içinde anlamlı hale getirme
fikriyle ortaya çıkmıştır (Berners-Lee vd, 2001). Bunun sonucu olarak günümüzde
kullanılan web sayfalarının içeriğinin terk edilerek anlamsal webe uygun içeriklerin
geliştirilmesi esastır. Bu içeriklerde ontolojiler yardımıyla oluşturulabilmektedir.
Ontoloji, herhangi bir alana ait kavramsal modelin, açık ve biçimsel tanımıdır.
Ontolojilerden anlamsal web araçları ile işlenerek çıkarsamalar yapılmaktadır. Bu
sayede Internet üzerinde daha güvenilir ve daha hızlı veriler elde edilebilmektedir.
Bu çalışmada, uzaktan eğitim sistemleri için örnek bir e-ders içeriği hazırlanmıştır.
Hazırlanan ders içeriği anlamsal web araçları yardımıyla işlenerek çıkarımlar
yapılmıştır. Uygulamamız için Süleyman Demirel Üniversitesi Uzaktan Eğitim MYO
Bilgisayar Programcılığı programında okutulmakta olan “Bilgisayar Ağları” dersi
örnek olarak seçilmiştir. Ders eğitmeni yardımıyla ders içeriğinden, Protégé
programı kullanılarak ComputerNekworks ontolojisi oluşturulmuştur. Oluşturulan
ontoloji sayesinde dersin konuları arasında bulunan ilişkiler ve tanımlar SPARQL
sorgulama dili yardımıyla çekilmiştir. Çekilen sorgularla sorulaştırılarak, NetBeans
programı ile Java programlama dili kullanılarak bir uygulama geliştirilmiştir. Bu
sayede öğrenci ders esnasında veya daha sonrasında bazı sorularına hızlı ve doğru
cevaplar bulabilme hedeflenmiştir. Bu sorularla öğrenci hem takip etmiş olduğu ders
için, hem de takip ettiği konu ile diğer konular arasındaki bağlantılar yardımıyla
dersin bütünü için sorulara ve cevaplarına ulaşabilmektedir.
Bu tez çalışması altı bölümden oluşmaktadır. Yukarıda açıklanan ve birinci bölüm
olan Giriş bölümünün devamında, ikinci bölümde, anlamsal web ve uzaktan eğitim
3
uygulamalarıyla ilgili literatür taraması yapılmıştır. Literatür taramasında anlamsal
web ve uzaktan eğitimle ilgili uygulamalar seçilmiştir. Üçüncü bölümde, öncelikle
uzaktan eğitimle ilgili tanımlamalar yapılmıştır. Daha sonra anlamsal web ve
teknolojileri hakkında genel tanımlara yer verilmiştir. Anlamsal web dillerinin yanı
sıra, ontoloji geliştirme araçları ve sorgulama araçları hakkında da bu bölümler
bilgiler bulunmaktadır. Tezin dördüncü bölümünde ComputerNetworks ontolojisinin
sınıflarının, alt sınıflarının oluşturulmasından, sınıflar arası ilişkilerin
tanımlanmasından ve bu özelliklerin görevlerinden bahsedilmektedir. Ardından Java
programlama dili ile arayüzün hazırlanması gerçekleştirilmektedir. Son olarak
beşinci bölümde çalışmanın sonucundan ve çalışmanın devamı olabilecek önerilere
yer verilmiştir.
4
2. KAYNAK ÖZETLERİ
Gerçekleştirilen tez çalışmasının temel teknolojisini oluşturan anlamsal web
(Semantic Web), her ne kadar yeni bir teknoloji olarak dile getirilse de eski bir
geçmişe sahiptir. Bu teknolojinin bilgisayarlarda kullanımı için gerekli desteklerin
henüz yeni yeni yaygınlaşmasından dolayı somut örneklerde az sayıdadır. Ancak
günümüzde anlamsal web ile ilgili bilimsel çalışmalar hızlı bir şekilde somut
örnekler ile artmaktadır. Bu teknoloji ile gerçekleştirilen bilimsel çalışmaların
literatür özeti aşağıda verilmiştir.
Yaşar (2007), “WordNet Üzerinde Türkçe Bilişim Ontolojisinin Oluşturulması”
isimli tez çalışmasında Türkçe bilişim terimleri sözlüğünün ontolojisinin
oluşturulmasından bahsedilmiştir. Türkçe bilişim terimleri ontolojisinin
oluşturulması için öncelikle terimler arasındaki ilişkilere göre terimler
gruplandırılmış ve bu gruplar doğrultusunda ontoloji oluşturulmuştur. Ontoloji
oluşturulduktan sonra Türkçe bilişim terimlerinin bu ontoloji üzerinden sorgulanması
için sunucu üzerinde bir yapı oluşturulmuştur. WordNet kullanılmasının sebebi, veri
kirliliğinin önlenmesi, kolay kullanım ve aşırı bilgi yüklenmesinin ortadan
kaldırılması olarak belirtilmiştir.
Özay (2007), “Web Servisleri ve Uzak Nesne Tabanlı Ontoloji Arayüzü
Geliştirilmesi” isimli tez çalışmasında platform bağımsız ontoloji geliştirilmesine
olanak sağlayan ontoloji servislerinin gerçekleştiriminden bahsedilmiştir. AEGONT
Ontoloji Geliştirme Ortamının sunduğu ontoloji geliştirme servislerini web servisleri
ile gerçekleştirerek programlama dilinden bağımsız olarak ontoloji geliştirme
ortamının genişletilebilmesi hedeflemiştir. Bu servisinin geliştirilmesi için
AEGONT (Ege Ontoloji Geliştirme Ortamı) ontoloji geliştirme ortamının çekirdeği
kullanılmıştır. Çalışmanın sonucu olarak bu servisleri kullanan web tabanlı örnek
ontoloji geliştirme ortamı olan Web AEGONT’ un tasarımı .NetRemoting teknolojisi
yardımıyla bir kısmı gerçekleştirilmiştir.
Türksoy (2007), “Ontoloji Tabanlı Etkinlik ve Öğrenme Nesnesi Paylaşım Sistemi”
isimli yüksek lisans tezinde özellikle e-öğrenmede kullanılmak için üretilen öğrenme
nesnelerinin paylaşımı ve tekrar kullanımını sağlayacak bir araç geliştirmeyi
5
amaçlamıştır. Bu araç sayesinde üretilen öğrenme nesnelerinin tekrar öğrenme
süreçlerinde kullanılarak zaman kaybını azaltmayı hedeflediğini belirtmektedir. Bu
sistem için oluşturulan etkinlik ontolojisinde özellikle etkinlik adı, ilgili ders
bilgileri, süre, seviye, zorluk derecesi, ilişkili olduğu öğrenme alanları vb. gibi
bilgileri içerdiği belirtilmiştir. Tamamlanan uygulamada kullanıcılar oluşturdukları
uygulama etkinliklerini giriş ekranı yardımıyla sisteme dâhil edebildiklerinden ve
yine kullanıcıların ihtiyaçlarına göre sorgulamalar yapabildiklerinden bahsedilmiştir.
Dağ ve Erkan (2007), “e-Öğrenme ve Anlamsal Web” isimli çalışmalarında anlamsal
web uygulamaları kullanılarak ortaya konan yeni nesil e-öğrenme sistemleri alanıyla
ilgili bilgi vermişlerdir. Bu doğrultuda ZÖS (Zeki Öğretim Sistemi) ve UHOS
(Uyarlanır Hiper Ortam Sistemi) kısaca açıklanmış ve anlamsal web
uygulamalarından oluşan e-öğrenme sistemlerine neden ihtiyaç duyulduğu
açıklanmıştır.
Ponnada ve Sharda (2007), “Model of a Semantic Web Search Engine for
Multimedia Content Retrieval” isimli makalesinde görsel öğeleri aramak için
geliştirilmiş bir web motoru modelinden bahsedilmektedir. Bu arama motoru
anlamsal web ile geliştirilmiştir. Doğru sonuçlar almak için hazır sorgular
hazırlanmıştır. Bu sorgular SCORDRA (Content Object Repository Discovery and
Registration/Resolution Architecture) olarak bilinmektedir. SCORDRA, anlamsal
web, veri, uygulama ve kullanıcı arayüzü olmak üzere dört katmandan oluşmaktadır.
Sonuç olarak kullanıcı arayüzüne hazır sorgular girerek görsel öğelere erişim
mümkün olacağı gösterilmiştir.
Kaya (2008), yüksek lisans çalışmasında e-öğrenme ortamlarında kullanılacak özlü
sözler ontolojisini tasarlamış ve uygulamasını gerçekleştirmiştir. Yapılan çalışmanın
önemli noktası birden fazla kavramın bir araya gelerek tek başlarına oluşturdukları
anlamların dışında bir anlam taşıyan özlü sözler ontolojisi oluşturmak olduğu
belirtilmiştir. Yine çalışmada kullanılan ontoloji Java dili kullanılarak
görselleştirildiği belirtilmiştir. Bu sayede kullanıcı herhangi bir özlü söze
tıkladığında özlü sözün bileşenleri anlamı ve o özlü söze benzer üyelerinde sayfada
listelendiğinden bahsedilmiştir.
6
Rajapaksha, vd. (2008), çalışmalarında ontolojilerin tekrar tekrar kullanılabilme
özelliklerinden yola çıkarak, ontolojilerle ilgili arama motorlarını incelemişlerdir. En
uygun ontolojiye ulaşabilmek için doğru bir ontoloji sıralamasına ihtiyaç olduğunu
belirtmektedirler. Ontoloji sıralamasında iki etmenden söz edilmektedir. Bunlar
ontolojilerin anlamsal web bağlantı yapıları diğeri de ontolojinin içyapısıdır. Arama
işlemleri bu iki temel üzerinde gerçekleştirildiğini ancak önerdikleri arama
algoritmasına göre sağlıklı sonuçlar için bu iki etmenin birleştirilmesi gerektiğini
belirtmişlerdir.
Kurtel (2008), “Web’ in Geleceği; Anlamsal Web” isimli makalesinde anlamsal webi
sosyal bilimler alanında da kullanılabileceğinden bahsedilmiştir. Çalışmasının temel
amacının, sosyal bilim alanında çalışan bilim insanlarına anlamsal webi tanıtmak ve
sosyal bilimler alanında ki uygulamalar hakkından bilgi vermektir.
Özpala vd. (2008), çalışmalarında iş başvurularında anlamsal ağ servislerini
kullanmışlardır. Internette çok sayıda bulunan insan kaynakları portallarından iş
başvurusu yapmak isteyenlerin kendilerine uygun olan iş başvurularına daha rahat
ulaşabilecekleri bir sistem için, insan kaynaklarında kabul görmüş bir ontolojiyi
kullanmışlardır. Sistemden işe başvuru yapan adayın TC kimlik numarası alınarak
web servisleri yardımıyla örneğin KPDS puanı tespit edilmiş, bunun yanında vermiş
olduğu bilgiler kullanılan ontoloji yardımıyla değerlendirilerek adayın iş için uygun
olup olmadığı sonucuna ulaşıldığı belirtilmiştir.
Battal (2009), “Semantic Web ile Geliştirilen Bir Televizyon Program Öneri
Sistemi” isimli yüksek lisans tez çalışmasında, TRT izleyicisine program
tavsiyesinden bulunabilmek için bir web istemcisinden bahsedilmiştir. BBC
programlarını sınıflandırmak üzere kullanılan TV program ontolojisinden
yararlandığını belirtilmiştir. Bu ontolojide bulunan programlar, kanallar, yayın tarihi,
programın hitap ettiği kullanıcı kitlesi, türü vb. bilgiler çalışma kapsamına uygun
olarak düzenlenmiştir. İzleyicileri tercihlerine göre çeşitli süzme araçları yardımı ile
izleyiciye uygun program sunulabileceğinden bahsedilmiştir.
Emiroğlu (2009), çalışmasında anlamsal ağ ile ilgili bilgiler vererek, Web 3.0
yapısının gelişim ve kullanımına yönelik bulgular sunmuştur. Çalışma içinde
7
anlamsal ağın çalışma mantığından ve katmanlarından, anlamsal ağın
farklılıklarından, bazı kullanım alanlarından, anlamsal ağın web ile gelecekteki
ilişkisinden bahsedilmektedir.
Can ve Ünalır (2009), “Anlamsal Web Politika Dillerinin Karşılaştırılması” adlı
çalışmalarında anlamsal web uygulamaları için önemli olan ve kısaca kurallar
kümesi olarak tanımlanabilen “politika” yı tanımlamış ve politika dillerini
inceleyerek bu politika dillerini karşılaştırmışlardır.
Keskin ve Sezer (2009), yapmış oldukları çalışmalarında CODONTO adındaki
ontoloji-tabanlı kaynak kod sorgulama aracı, Eclipse geliştirme ortamına eklenti
olarak geliştirmişler ve bilgi tabanı olarak OWL ontolojisi, sorgulama dili olarak da
SPARQL kullanılmış ve Java programlama dili ile geliştirilmiş projeler üzerinde
esnek sorgulamaların yapılabilmesini amaçlanmışlardır. Çalışmalarının sonucunda
bir Java projesinin sınıflarını, arayüzlerini, sınıfların erişim belirtecini, bir sınıftan
üretilen diğer sınıfları gibi bilgilerine ulaşabildiklerini belirtmişlerdir.
Garcia-Sanchez vd. (2009), yaptıkları çalışmalarında; son yıllarda popülerliğini
arttıran Akıllı Ajanlar ve Semantic hizmetlerinden bahsetmektedirler. Bahsedilen bu
teknolojilerin ortaklaşa çalışabilmelerinin öneminden söz edilerek, bu iki hizmetin
entegre edildiği SEMMAS (SEMantic Web Services and Multi-Agent System
Framework) adlı bir uygulama tasarlamışlardır. Tasarlanan uygulamayı test etmek
için bilgisayar parçaları satan üç farklı e-ticaret sitesinin olduğu bir senaryo üzerinde
çalışmışlardır. SEMMAS uygulaması bir web tarayıcısı yardımıyla kullanıcıya en
uygun olan seçenekleri getirdiği belirtilmiştir.
Güney (2009), anlamsal web ve çoklu etmen teknolojileri kullanarak tıbbi veri
iletişimi ve akıllı randevu alma süreçlerini yerine getiren bir sistem tasarlamıştır.
Tasarlanan sistemde anlamsal web teknolojilerinin sunduğu olanaklardan
faydalanmak amacıyla JADE uygulama tanımlı ontoloji geliştirilmiştir. Ayrıca
hastaların randevu almak için sisteme giriş yaptıklarında daha önce hangi tıbbi
merkezden randevu aldıysa yine aynı yere yönlendirme, ya da yararlanmış olduğu
sağlık hizmetine uygun tıbbi merkezler içinde arama yapabilme gibi sistem
8
tarafından yönlendirilerek işlemin daha kısa sürede gerçekleştirilmesi tasarlanan
sistemin hedefleri arasında olduğu belirtilmiştir.
Özdemir (2010), “Web Servisi ile Ontoloji Yönetimi” isimli yüksek lisans
çalışmasında, web servis yoluyla uzaktan ontoloji yönetimi hakkında bilgiler
vermiştir. Sunucu üzerinde WSDL ve SOAP yapıları ile servisler oluşturulmuştur.
Geliştirdiği sistemle kullanıcıların isteklerini web sunucu tarafından sunulan ontoloji
servisine ileterek, istenilen işlemin gerçekleştirilmesi ve sonucun geri döndürülmesi
sağlanılmıştır.
Beyan vd. (2010), “Sağlık Bakımı Performans Ölçümü Ontolojisi ve Bilgi Tabanı”
isimli çalışmalarında sağlık bakımı alanında uygulanmaya başlanan performans
ölçümü için bir ontoloji geliştirerek, bu ontolojiyi performans ölçüm çalışmalarını
anlamsal düzeyde Türkiye sağlık sisteminde denemişlerdir. Bu çalışma sağlık bakımı
ve kalitesi alanında yürütülen performans ölçüm çalışmaları ve göstergeleri ile
sınırlandırılarak sağlık sistemindeki performans ölçümü için geliştirilebilir bir temel
niteliğinde olduğu belirtilmiştir.
Sosyal vd. (2010), yapmış oldukları çalışmalarında tıpta kullanılan radyoloji
raporlarının serbest metin olarak saklandığını, bu metinlerden bilgi elde etmenin ve
elde edilen bilgiler ışığında karar vermenin yapılandırılmış veriler kadar kullanışlı
olmadığını, bu bilgilerin tekrar kullanımının zorluğu gibi sorunları tespit etmişlerdir.
Bu sorunların çözümü için serbest metin olarak tutulan radyoloji raporlarını
yapılandırılmış bilgi modeline dönüştüren bir sistem tanımladıklarından
bahsetmişlerdir. Oluşturdukları sistem sayesinde elde ettikleri alan bilgilerini ontoloji
ile birleştirip alan bilgilerini anlamlandırdıklarını belirtmişlerdir. Çalışma rastgele
seçilen elli raporla test edilmiş ve sistemden elde edilen sonuçlar oldukça başarılı
bulunmuştur.
Can ve Ünalır (2010), “Ontoloji Tabanlı Erişim Denetimi” adlı çalışmalarında
anlamsal web öncesi erişim denetimlerini, anlamsal web sonrası erişim denetimlerini
açıklamışlardır. Anlamsal web sonrası erişim denetimlerinin avantajlarını ve
dezavantajlarından bahsederek oluşturdukları ontoloji tabanlı erişim denetiminde bu
eksiklikleri kapatmaya çalıştıklarından bahsetmişlerdir.
9
Bulu vd. (2010), çalışmalarında meme kanserinin erken dönem teşhisinde kullanılan
görüntüleme tekniği olan mamografi görüntülerini inceleyebilen, karşılaştırabilen bir
sistem önermişlerdir. Bu sistem için bir Mamografi Ontolojisi oluşturulmuş ve
anlamsal web teknolojileri ile vakalar arası benzerlik hesaplamaları, orta ve yüksek
seviyeli tanımlayıcılar kullanılarak gerçekleştirilmiş ve örnek sorgu sonuçlarını
çalışmalarında listelemişlerdir.
Çoban (2010), “Bir Anlamsal Web Uygulaması Olarak Türkiye Organik Tarım Bilgi
Portalı Tasarımı” adlı yüksek lisan çalışmasında Türkiye’ de organik tarımla ilgili
sorunlardan biri olan öğrenme kaynaklarının eksikliğini anlamsal web teknolojisinde
yararlanarak bir organik tarım portalı geliştirmiştir. Bu portalın tasarımında anlamsal
web teknolojisinden yararlanarak organik tarım kaynaklarının aranmasının kullanıcı
açısından daha doğru sonuçlar çıkartacağını belirtmiştir. Tasarlanan portal sayesinde,
organik tarım alanında kullanıcılara daha doğru bilgilerin sunulabileceği
belirtilmiştir.
Wang (2011), “Research on Remote Education System Using Semantic Web ” isimli
makalesinde anlamsal webin günümüzdeki tek boyutlu Internet yapısına farklı bir
görüş getirdiğini dile getirmektedir. Uzaktan eğitim teorisine mevcuttan farklı bilgi
tabanlı bir model getirmiştir. Anlamsal web uygulamaları uzaktan eğitim iş
mantığının yeniden yönetimi için yeni talepler ortaya koymaktadır. Bu talepler
OntoLearning uzaktan eğitim sistemi için geliştirilen prototip ile çözülmüştür.
Geliştirilen OntoLearning sistemi, Ontololoji tabanlı hizmet ve iş uygulama katmanı
bulunan bir uzaktan eğitim ağı sistemidir.
Çelik vd. (2011), yaptıkları çalışmalarında uzaktan eğitim ders yönetim sistemlerinde
kullanılabilecek, anlamsal tabanda arama yapabilecek ve kişiye yönelik aranılan bir
eğitim dokümanını sunabilecek anlamsal tabanlı arama yapabilecek ajan sistemi
önermişlerdir. Önerilen bu ajan sistemi sayesinde web ortamında kullanıcıya en
uygun ders notunun bulunmasının amaçlandığı belirtilmiştir. Aynı zamanda yapılan
bu çalışmayla, daha özel arama kriterleri belirlenerek internet ortamında net
sonuçların bulunması sağlanabilmektedir.
10
Kasimati ve Zamani (2011) ,“Education and Learning in the Semantic Web “ isimli
makalesinde eğitimde ve öğretimde anlamsal web gerekliliğine yönelik çalışmalar
yapılmıştır. Teknolojik öğeleri kullanarak web tabanlı, masaüstü ve mobil olarak
geliştirilen uygulamaların anlamsal web yapısının kullanması gerektiği
vurgulanmıştır. Anlamsal ağ ile yapılacak uygulamalarda pedagojik ajanlar, nesne
depolarının başarılı şekilde uygulandığı takdirde gelecekteki araştırmalara yön
tutacağı belirtilmektedir.
Yücel vd. (2011), “Bilgisayar Destekli Denetim Ontolojisi” adlı çalışmasıyla tüm
kamu kurumlarını mali ve uygunluk yönünden denetleyen Sayıştay için, bilgisayar
destekli denetim projesi geliştirmişlerdir. Bu proje sayesinde geleneksel yöntemlerle
gerçekleştirilemeyecek denetim prosedürlerini uygulanabilir hale getirmek ve
Sayıştay denetimlerinde bir standart yakalamak olduğunu belirtmişlerdir. Bu
hedeflere ulaşabilmek için bir ontoloji geliştirmişlerdir. Ontolojide kurumların
hiyerarşik sınıflandırması kurumlar arası ilişkiler hesap sınıflandırması, bütçe
sınıflandırması, bütçe-kurum ilişkileri gibi birçok kavram ve bunlar arasında ki
ilişkilerin bulunacağı belirtilmiştir.
Fujino vd. (2012), SPARQL sorgularının sıralama işlemlerinde eksik olduğunu ve bu
eksikliği giderebileceğini düşündükleri bir yöntem önermektedirler. Önerilerinde
çeşitli fonksiyonlar SPARQL sorgularında tanımlanarak kullanılmıştır. Bu işlemlerde
dikkat edilen unsur benzerlik oranlarıdır. Elde edilen benzerlik oranlarının
büyüklüğüne göre elde edilen sonuçlar sıralanmaktadır. Bu sayede ilk sıralananların
doğruluk oranları diğerlerine göre daha yüksek olduğu vurgulanmıştır.
Literatür taramasının sonunda anlamsal ağ teknolojisinin kullanıcının daha kolay
çıkarımlar yapabilmesine yardımcı olduğu görülmüştür. Bunun yanında eğitim
alanında ise kullanıcıya en uygun eğitim içerikleri veya eğitim materyallerinin tespit
edilmesi konusunda kullanıcılara yardımcı olduğu görülmüştür.
11
3. MATERYAL VE YÖNTEM
Çalışmanın bu bölümünde kullanılan teknolojilerle ilgili terimler ve uygulamada
kullanılan araçlar hakkında bilgiler verilmiştir.
3.1. Uzaktan Eğitim
Günümüzde sıkça karşımıza çıkan uzaktan eğitimin çokta yeni olmayan bir tarihi
vardır. İlk olarak Wisconsin Üniversitesi’nin 1892 Yılı Katalogunda geçmiş olan
“Uzaktan Eğitim” terimi, yine ilk kez aynı üniversitenin yöneticisi William Lighty
tarafından 1906 yılında yazılan bir yazıda kullanılmıştır. Uzaktan eğitim terimi
1960’lı yıllardan başlayarak yaygın bir kullanım alanı kazanmıştır (Adıyaman,
2002). İlk uygulamalarında mektup, televizyon, radyo gibi iletişim araçları
kullanıldığı görülmektedir (Girginer ve Özkul, 2004; Sebetci, 2008).
Uzaktan eğitim, öğrenenle öğretenin fiziksel olarak birbirinden uzakta olduğu bir
eğitim biçimidir. Günümüzde uzaktan eğitimin tanımı temelde aynı kalsa da daha
farklı biçimlerde yapılmaktadır. Wisconsin Üniversitesi Sürekli Eğitim Grubu’ nun
yaptığı en son tanıma göre uzaktan eğitim, öğrenci etkileşimi ve öğrenme sertifikası
sağlayacak biçimde tasarlanmış; uzaktaki kitleye ulaşmak için geniş bir teknoloji
yelpazesi kullanan, planlanmış bir öğrenme/öğretme deneyimidir (Adıyaman, 2002).
Günümüzde bilişim teknolojilerinde ki gelişmelerin yansımasını eğitim alanında
uzaktan eğitimde görmek mümkündür. Uzaktan eğitim; geleneksel öğrenme-öğretme
yöntemlerinin sınırlılıkları nedeniyle sınıf içi etkinliklerini yürütme olanağının
bulunmadığı durumlarda, eğitim etkinliklerini planlayıcılar ile öğrenciler arası,
iletişim ve etkileşimin özel olarak hazırlanmış öğretim üniteleri ve çeşitli ortamlar
yoluyla belirli bir merkezden bir öğretme yöntemi olarak tanımlanmaktadır (Gezer
ve Koçer, 2008).
Günümüzde hızla artan bu öğretme yöntemi sayesinde öğrenciler için öğrenme
sürecindeki bazı zorlukların önüne geçilmeye çalışılmıştır. Uzaktan eğitimde
öğrenciler ve öğretmenler farklı yerlerdedirler. Bu eğitimde öğrenciler; kendi
12
hızlarında öğrenebilirler, öğrendikleri yolu kontrol edebilirler, öğrendiklerinin
içeriğini ve ağırlığını kontrol edebilirler, amaçları ve ölçütleri kontrol edebilir ya da
şekillendirebilirler ve öğrendiklerini değerlendirebilirler (Gezer ve Koçer, 2008).
Özellikle “Yaşam Boyu Eğitim” kavramının yaygınlaşmasıyla uzaktan eğitime olan
ilgi daha da artmıştır. USDLA (United States Distance Learning Association)
uzaktan eğitimi, öğretmenin fiziksel varlığı olmaksızın oluşan öğrenme yapısı olarak
tanımlamıştır. USDLA’ ya göre uzaktan eğitim tüm teknolojileri kapsar ve herkes
için hayat boyu öğrenmeyi destekler (Torkul, 2012).
Yaşam boyu öğrenmeyi; bireyin, yaşamı boyunca sürekli bir öğrenme etkinliği
içerisinde olması durumu olarak tanımlayabiliriz. Hayat boyu eğitim hem bilgideki
yenilenme hem de teknolojideki ilerleme toplumsal yaşamı ve bireysel davranışları
değiştirmekte ve bireyi hızlı ve sürekli bir takip içinde olmaya sürüklemektedir
(Hekimoğlu, 2012). Bireyin ve dolayısıyla toplumun değişimini etkileyebilen
eğitimin bireylere ortamdan ve zamandan bağımsız olarak sunulabilmesi amaçlayan
uzaktan eğitimin önemi her geçen gün artmaktadır. Ülkemizde uzaktan eğitim
fikrinin tartışılıp ilk uygulamalarının gerçekleştirilmesi 1960’ lı yıllara
dayanmaktadır. 1961 yılında MEB (Milli Eğitim Bakanlığı) tarafından Mektupla
Öğretim Merkezi kurularak öğretime başlamış, bu çalışmalar 1966 yılında Genel
Müdürlük düzeyinde örgütlenerek sistem örgün ve yaygın eğitim alanında
yaygınlaştırılmıştır (Çekiç, 2010). İlk mektupla başlayan uzaktan eğitim
uygulamaları radyo televizyon ve Internet gibi iletişim araçlarıyla devam etmiştir.
Günümüzde birçok üniversite ve çeşitli mesleki eğitim kurumları web tabanlı
uzaktan eğitim uygulamaları kullanmaktadır.
3.1.1 Uzaktan Eğitim Türleri
Uzaktan eğitimin üstünlüklerinin başında şüphesiz zamandan ve mekândan bağımsız
olması gelmektedir. Buna bağlı olarak temelde uzaktan eğitimi senkron (eş zamanlı)
eğitim ve asenkron (eş zamansız) eğitim olmak ikiye ayrılır. Ancak uygulamada bu
iki türün birleşiminden oluşan karma eğitim olarak adlandırabileceğimiz uzaktan
eğitim çeşidine rastlayabilmekteyiz. Bunlar Çizelge 3.1’ de gösterildiği gibi
13
zamandan bağımlı/bağımsız olması ile eğitmenin/öğrencinin aynı mekânda olup
olmamasına göre sınıflandırılmaktadır.
Çizelge 3.1 Uzaktan eğitim türleri (Yenal, 2009)
Eğitmen/Öğrenci
Aynı Mekânda Bir Kısmı
Aynı Bir
Kısmı Farklı
Mekânda
Tamamen
Farklı Bir
Mekânda
ZA
MA
N
Zamandan
Bağımsız
A
Zamandan
Yarı Bağımsız
D E B
Zaman
Bağımlı
C
Yukarıdaki çizelgeye dayanarak uzaktan eğitimin türleri aşağıda açıklanmıştır;
"A", eğitmen ve öğrencinin hiçbir şekilde karşılaşmadığı, bir başka deyişle
eğitimin yer ve zamandan bağımsız olarak yürütüldüğü durumdur. Bu tür uzaktan
eğitimde ders içeriğinin dağıtılması için Dünya Çapında Ağ (World Wide Web -
WWW), iletişim için ise e-posta kullanılabilir.
"B", eğitimin tamamen yerden bağımsız, fakat zamana yarı bağımlı olarak
yürütüldüğü durumdur. Bu tür uzaktan eğitimde, karşılaşılan özel bir problemi
çözmek ya da ders kapsamında yer alan bir soruyu cevaplandırmak için Internet
Bağlantılı Sohbet (Internet Relay Chat - IRC) gibi etkileşimli web araçları
kullanılabilir.
"C", eğitimin tamamen yerden bağımsız, ancak zamana tam bağımlı olarak
yürütüldüğü durumdur. Karşılıklı olarak soruların sorulduğu ve cevaplandığı
video konferans sistemi bu tür uzaktan eğitim çalışmalarında kullanılabilir.
"D", eğitimin bir kampus içinde elektronik tartışma destekli olarak yüz yüze sınıf
ortamında yürütüldüğü durumdur.
"E", eğitimin bir kısmının yüz yüze gerçekleştirildiği (yer/zaman tam bağımlı), bir
kısmının ise tamamen uzaktan verildiği (yer/zaman bağımsız) durumdur. Genel
olarak, programın başlangıç kısmı ve sonunda yer alan sınav aşamaları yüz yüze
gerçekleştirilirken, ara aşamalar "A" durumundaki gibi yürütülmektedir.
14
3.1.2 Uzaktan Eğitimin Yöntemleri
Türkiye’ de Uzaktan Eğitimin tarihi 1960’ lara kadar dayanmaktadır. Zamanla
teknolojinin gelişmesine paralel olarak uzaktan eğitimin de gelişmiştir. Şekil 3.1’ de
Uzaktan eğitimin tarihsel gelişimi görülmektedir (Altuntaş vd., 2008).
Şekil 3.1. Uzaktan eğitimin gelişimi
İlk uygulamalarının mektupla öğrenim olduğu kabul edilmektedir. Bu öğrenim
yönteminde eğitim bir okul veya yetkili bir kurum tarafından posta vasıtasıyla
yürütülmeye çalışılmıştır. Mektupla öğrenim, kültürel gelişim ve mesleki eğitim için
hemen her bilim dalında eğitim faaliyetlerinde kullanılagelmiştir. Özellikle fiziksel
engelliler ve eve bağlı halde yaşamak zorunda olanlar için ideal olan mektupla
öğrenim kursları v.b eğitici özel programlar düzenlenmiştir. İş çevreleri, dernekler ve
silahlı kuvvetler, mektupla öğrenimden yoğun biçimde yararlanmış olan kurumlardır
(Canayaz, 2010).
Radyo ve Televizyon yayınlarının uzaktan eğitim de kullanılması, eğitimin
öğrencilere daha hızlı ulaşmasını sağlamıştır. Bu modelde öncelikle öğrenciler için
gerekli materyaller posta yoluyla gönderilmektedir. Öğretmenler, önceden
hazırladıkları radyo ve televizyon programlarıyla öğrencilere ulaşmaya
çalışmaktadırlar. Bu yöntemde de öğrenciler öğretmenleriyle iletişimi posta yoluyla
kurabilmektedirler.
15
Bilgisayarın hayatımıza girmesiyle birlikte uzaktan eğitimde sıkça kullanılmaya
başlanmıştır. Özellikle eğitim içeriklerinin CD ya da DVD gibi bir depolama
biriminde saklanarak öğrenciye gönderilmesi en sık karşılaşılan yöntemler
arasındadır. Öğrencilere ulaştırılan bu eğitim kaynakları sayesinde, öğrenci dersleri
defalarca tekrar edebilme imkânı bulmaktadır.
Öğrencilerin nerede ve ne zaman eğitime ihtiyaç duyarlarsa ulaşabilmeleri için
bilgisayar ve Internet teknolojilerinin kullanılmasına e-öğrenme kavramı ortaya
çıkmıştır. Internet teknolojisinin gelişmesinin uzaktan eğitimi sağladığı en büyük
faydalar arasında; eğitim ortamları için mekân ve zaman sorununu ortandan
kaldırması sayılabilmektedir. Internet teknolojisi sayesinde verilerin daha hızlı
aktarılabilmesi, etkileşimin arttırılabilmesi, ders esnasında anlık dönütlerin
alınabilmesi gibi faydalar uzaktan eğitim sistemine dâhil olmuştur. (Kaya, 2002;
Yenal 2009; İşman 2011).
3.1.3 Uzaktan Eğitim ve Internet İlişkisi
Internete Dayalı Uzaktan Eğitim, Internet altyapısını kullanan tüm eğitim modellerini
kapsayan genel bir yaklaşım olarak karşımıza çıkmaktadır. Internet ağını kullanan
tele-konferans görüşmeleri, geleneksel postanın yerini alan elektronik postalar, basılı
kaynaklara alternatif oluşturan elektronik kitap ve süreli yayınlar, “Internete Dayalı
Uzaktan Eğitimin” birer parçası olarak kullanılmış modellerdir. Bu modeller
içerisinde günümüzde en yaygın olarak kullanılan model ise Web Tabanlı Uzaktan
Eğitim (WTUE) modelidir (Al vd., 2004).
3.1.4 Web Tabanlı Uzaktan Eğitim Sistemi
Web Tabanlı Uzaktan Eğitim sistemi; özel sektörde ve kamu kuruluşları eğitim
sorununu çözmek için kullanmaktadır. WTUE örnekleri incelendiğinde iki farklı
uygulamasıyla karşılaşmaktayız. Bunlar akademik programlar ve sertifika
programlarıdır. Farklı yerlerde bulunan personel, öğrenci vb. daha az bir maliyetle
zamandan ve mekândan bağımsız olarak eğitim alabilmeleri WTUE en önemli
avantajları arasında sayılabilmektedir. WTUE de hazırlanmış bir ders içeriğine
16
erişilebilmesi sayfalar HTML yapısında düzenlenir, e-posta, anlık sohbet
ortamlarıyla da sistemde bulunanların iletişimi sağlanmaya çalışılır. Internet
üzerinden öğretim, hızlı ve etkileşimli öğrenmeye olanak sağlaması, daha fazla
danışmanlık hizmetinin verilmesi, tartışma fırsatı sağlaması gibi özellikleri
bakımından öğrenci merkezli, demokratik ve bireysel öğretime dayalı bir eğitim
ortamı olanağı sağlamıştır (Erümit, 2011).
Son yollarda dünyaya paralel olarak ülkemizde bilgisayar ve Internet kullanımının
artması, Internet altyapı çalışmalarının arttırılması, buna bağlı olarak daha ucuz ve
sürekli Internet bağlantısının olması vb. Internette eğitim ortamlarının artmasını
sağlamıştır. e-Öğrenme web tabanlı öğrenme yaklaşımının geldiği son
noktalardandır.
3.1.5 Uzaktan Eğitim Avantaj ve Dezavantajları
Yaşam boyu eğitim kavramıyla popülerliği artan uzaktan eğitim kavramı, eğitim
alanında birçok yenilikler getirmesinin yanında her sistemde olduğu gibi avantajları
ve dezavantajları bulunmaktadır. Uzaktan eğitimin en belirgin özelliği öğrencinin
zamandan ve mekândan bağımsız olarak ders içeriklerine ulaşabilmesi olarak
belirtilmektedir. Ancak bunun yanında bu sistemi kullanabilmek için öğrencinin belli
bir düzeyde teknolojik altyapıya sahip olması gerekmektedir.
Larsonvd (2008) yoksulluğun azaltılması ve ekonomik kalkınmanın aracı olarak
uzaktan eğitim kullanıldığı Çin ve Meksika da yapmış oldukları araştırma
sonuçlarının olumlu olduğunu belirtmektedirler. Ülkelerin coğrafi açıdan ya da
ekonomik nedenlerden eğitimden yoksun kalan kesimlerine uzaktan eğitim
merkezleri kurularak o bölgedeki insanların meslek sahibi olmaları ve bu sayede
ekonomik kalkınmaya katkı sağlamaya çalışmışlardır.
Bunların yanında uzaktan eğitim faydalarını/avantajlarını aşağıdaki gibi
sıralayabiliriz (Yenal 2009, Gezer vd., 2008, Çalışkan, 2002, Çabuk vd., 2001, Özdil
vd., (1999));
17
Bölgeler arası doğa şartlarını en aza indirerek eğitimde fırsat eşitliği
sağlamaktadır.
İlk kurulum maliyetinin yüksek olması bir dezavantaj olarak görülsede bütün bir
eğitim süreci açısından düşünüldüğünde örgün eğitime göre daha ucuz
olmamaktadır.
Ders içerikleri hazırlanırken resim ve animasyonların kullanılmasıyla görselliğin
arttırılması öğrencinin derse olan ilgi ve motivasyonunu arttırabilmektedir.
Çekingen öğrencilerin örgün eğitimde soru sormama gibi sorunlarının uzaktan
eğitimde ortadan kalkmaktadır.
Aktif olarak eğitimci olmasa da yönetici ya da uygulayıcı kişilerin uzmanlığından
ve deneyimlerinden yararlanma şansı ortaya çıkmaktadır.
Yapılan çalışmalar interaktif eğitimin öğrenme süresini ortalama %50 azalttığını
göstermiştir. e-Öğrenme, teknolojik imkânlar sayesinde zengin işitsel ve görsel
tasarımlar ile eğitimi çekici hale getirerek öğrenmeyi artırmaktadır.
Uzaktan eğitim sisteminin dezavantajları aşağıdaki gibi sıralanabilir (Siemens vd.,
2009; Yenal 2009; Uğuz, 2008; Horton, 2000):
WTUE ile bir dersin hazırlanması için daha fazla zaman, daha fazla çaba
gerektirir. Çünkü bir web sayfasının hazırlanması hem grafiker hem programcı
hem de o dersin öğretmeninin bir arada çalışmasını gerektirir. Materyal tasarımı
yapan eğitimciler normal eğitime göre % 40–50 daha fazla çaba harcamaktadırlar.
Uzaktan eğitim platformlarının performanslarını kullanıcının bilgisayar
konfigürasyonu da etkilemektedir. Bu teknik detaylardan dolayı bazı programların
çalışmaması, sistemin yavaş çalışması, ders içeriklerinde kullanılan programların
versiyonlarının farklı olması gibi sorunlar olabilmektedir.
El becerisi gerektiren dersler sonunda başarı düzeyinin çok yüksek olmadığı
görülmektedir.
Gerçek sınıf ortamından uzak olması öğrencinin diğer öğrencilerle ve eğitimciyle
birebir iletişimini engelleyeceği için öğrencinin sosyalleşmesinde etkili
olmamaktadır.
Öğrencinin soru sorma olanağının olmasına karşın bir çok uzaktan eğitim
platformlarında olduğu gibi sorularını yazarak sorması sormak istediğini tam
18
olarak ifade edememe ya da anlatmak istediğini tam olarak soramama gibi
sorunlar olabilmektedir.
Uzaktan eğitim sisteminin ilk kuruluş maliyetinin yüksek olması her kurumun bu
altyapıyı kuramamasına neden olmaktadır.
Uzaktan eğitim sistemi günümüz teknolojisinde yüz yüze eğitim kadar etkili
olamamaktadır.
3.2 Anlamsal Web (Semantic Web) ve Kullanılan Diller
Bugünkü webin içeriği sadece insanların yorumlayabileceği biçimdedir. World Wide
Web’in babası olan Time Berners-Lee bugünkü web teknolojilerinin geliştirerek
webin içeriğini makineler tarafından da anlaşılabilecek sayfalar haline getirerek ve
bilginin bütünleştirilmesi için ontolojilerin kullanımına ihtiyaç olduğu sonucuna
ulaşmıştır. Böylelikle, “Anlamsal Web” kavramı ortaya çıkmıştır (Can, 2008).
Şekil 3.2’ de görülen anlamsal web dilleri, ontolojilerin ve ontolojilerle web
ortamındaki bilgi içeren nesnelerin (kaynakların) tanımlanmasını sağlar (Özpala,
2008).
Şekil 3.2. Anlamsal web dilleri mimarisi (www.w3c.org)
Anlamsal ağ dillerinin gelişimi incelendiğinde, dillerin XML temelli olduğu
görülmektedir. Anlamsal ağ dillerinin gelişmesiyle, ontoloji oluştururken karşılaşılan
sorunların önüne geçilmiştir. Örneğin RDF diliyle tanımlanamayan ilişki türleri,
RDF-S ile aşılmaya çalışılmıştır.
19
3.2.1 Anlamsal Web Tanımı
Anlamsal web, günümüzde kullanılan web teknolojileriyle sadece insanlar için
anlamlı olan web sayfalarının içeriklerini makineler içinde anlamlı hale getirme
fikriyle ortaya çıkmıştır. Bunun sonucu olarak günümüzde kullanılan web
sayfalarının içeriğinin terk edilerek anlamsal webe uygun içeriklerin geliştirilmesi
esastır. Anlamsal web, makinelere içeriği biçimsel olarak temsil edilmiş web
sayfaları sunarak, insanların ve makinelerin birlikte daha iyi çalışabilmesini
sağlamayı hedeflemektedir (Berners-Lee vd., 2001). Bu sayede Internet ortamında
istenilen bilgiye daha hızlı ve daha doğru ulaşıla bilinecektir. Günümüzde
kullandığımız web ve anlamsal web Şekil 3.3’ de grafiksel olarak karşılaştırılmıştır.
Şekil 3.3. Günümüzde kullanılan webin ve Anlamsal webin karşılaştırması (Özpala,
2008)
Günümüzde kullanılan web teknolojisiyle anlamsal web teknolojisinin
karşılaştırılmasında öne çıkan kısım, kaynakların yada dökümanların birbirlerine
ilişkilerle bağlanabilmesidir. Şekil 3.3’ de görüldüğü gibi anlamsal web
teknolojisinde herhangi bir nesne yada kaynak bir başka nesne yada kaynağa subject
(özne) özelliğiyle bağlanabilmektedir.
20
Temelleri daha eski dönemlerde gerçekleştirilen yapay zekâ çalışmalarına
dayanmakla birlikte Şubat 2001 tarihinde, “World Wide Web Konsorsiyumu”
tarafından, verinin web üzerinde anlamsal gösterimini sağlamak amacıyla anlamsal
web kavramı ortaya atılmıştır. World Wide Web’ in kurucusu Tim Berners-Lee,
anlamsal webin günümüzdeki web teknolojilerinin bir uzantısı olduğunu, Anlamsal
Web kullanılmasıyla bilginin anlamının daha iyi bir şekilde tanımlandığını ve
böylece bilgisayar ve kullanıcıların birlikte çalışabilirliklerinin arttığını söylemiştir
(Komeslivd, 2007).
Şekil 3.4’ de Tim Berners-Lee tarafından önerilen Anlamsal Web katmanlı yapısı
görülmektedir. En alt katmanda yer alan XML (eXtensible Markup Language),
kullanıcı tarafından tanımlanmış söz varlığı kullanılarak yapısal web belgeleri
yazılmasını sağlayan bir dildir. RDF, web kaynakları ile ilgili olarak yalın ifadeler
yazılan varlık-ilişki modeline benzer yalın bir veri modelidir. RDF, Anlamsal Web’
in veri modelidir. Zorunlu olmamakla birlikte sıklıkla XML ile ifade edilmektedir.
Bu nedenle XML katmanının üstünde yer almaktadır.
Şekil 3.4. Anlamsal webin katmanlı yapısı
RDF Schema, web nesnelerini sıra düzen içerisine düzenleyen modelleme ilkelleri
sağlamaktadır. Sınıflar ve özellikler, alt sınıf ve alt özellik ilişkileri, etki alanı ve
terim kısıtlamaları temel ilkellerdir. Şekil 3.4’ de görüldüğü gibi RDF Schema
aslında RDF dilinin devamı niteliğindedir. RDF Schema, RDF tabanlıdır ve ontoloji
21
yazımı için bir ilkel dil olarak görülebilir. Ancak, RDF Schema genişleten ve web
nesneleri arasında karmaşık ilişkilerin tanımlanmasına izin verecek daha güçlü
ontoloji dillerine gereksinim vardır.
Mantık katmanı, ontoloji dilini güçlendirmek ve uygulamaya özel bildirim deyimi
bilgisinin yazımına izin vermek için kullanılmaktadır. Kanıt katmanı, hem
tümdengelimli işlemleri hem de web dillerinde kanıtların temsil edilmesini ve kanıt
onaylanmasını içermektedir. Son olarak Güven katmanı, sayısal imzaların ve
güvenilir etmenler, oranlar, sertifika kuruluşları ve tüketicilerin önerilerini temel alan
diğer bilgi türlerinin kullanımı ile ortaya çıkmaktadır. Güven, anlamsal web katmanlı
yapısının en üstünde yer alması nedeniyle çok önemli bir kavramdır. Webin
kullanılabilirliği, kullanıcılar işlemlerinde güvencede olduklarında ve sağlanan
bilginin niteliğine bağlı olarak elde edilecektir (Can vd., 2010)
Anlamsal web, dünya üzerindeki bilgileri tek bir platformda toplamayı amaçlayan,
ilgili süreçlerin bilgisayarlar tarafından web üzerinden otomatik olarak yönetilmesini
sağlayan bir uygulamadır. Bu, web üzerindeki tüm bilgi ve verilerin açıklamalar ile
ilişkilendirilmesini gerektirmektedir. Burada önemli olan nokta tüm verilerin
yönetimi için öte verilerin (meta data) oluşturulması ve bilgisayarlar tarafından daha
karmaşık sorgular yapılıp en ilgili bilgilere ulaşılabilmesidir (Emiroğlu, 2009).
Günümüzde kullanılan web teknolojileri genellikle doküman alışverişi esasına
dayanmakta, fakat anlamsal web, çeşitli dokümanlardan elde edilen verinin
bütünleştirilmesi ve birleştirilmesi için gerekli olan ortak yapılar üzerinde
durmaktadır. Anlamsal webin hâlihazırda kullanılan web ortamını geliştirmesinin ilk
aşamasının, web ortamındaki veri ve dokümanları makinelerin de işleyip
“anlayabilmesi” olacağı belirtilmiştir (Türksoy, 2007). Günümüzde web sayfalarının
içeriğini anlamsallaştırma çalışmaları olsa da tam olarak istenilen seviyede
bulunmamaktadır.
3.2.2 Ontolojiler
Ontoloji, herhangi bir alana ait kavramsal modelin, açık ve biçimsel tanımıdır.
Burada iki önemli nokta üzerinde durulmaktadır. İlki, kavramsallaştırma biçimseldir,
22
dolayısı ile bilgisayar tarafından anlaşılabilir. İkincisi ise, ontoloji herhangi bir ilgi
alanı için tasarlanır. Ontolojiler kavramlar (sınıflar), ilişkiler (nitelikler), olgular ve
aksiyomlardan oluşur. Şekil 3.5’ de basit bir ontoloji kesiti verilmiştir (Keskin vd.,
2009). Bu ontoloji örneği incelendiğinde Profesör’ ün ders verdiğinin, öğrencinin ise
ders aldığını ve ikisininde farklı ilişkilerle Ders sınıfına bağlı olduğu görülmektedir.
Ayrıca bu Öğrencinin ve Profesörün İnsan sınıfına dahil olduğu anlaşılmaktadır. Bu
ilişkiler sayesinde öğrencininde profesöründe insan sınıfının özelliklerine sahip
olduğunu makinin anlaması sağlanmaktadır.
Şekil 3.5. Basit bir ontoloji örneği
Anlamsal web uygulamalarında, bilginin temsilinde ontolojiler kullanılmaktadır.
Ontoloji felsefi olarak bir bütün olarak varlığı ele alan ve varlığın en temel
niteliklerini inceleyen bir felsefi disiplini olarak tanımlanmış olsada Thomas R.
Gruber anlamsal web açısından ontolojiyi; kavramsallaştırmanın açık ve biçimsel bir
belirtimi olarak tanımlamıştır. Bilgi teknolojileri alanında ontoloji; belirli bir bilgi
alanında (domain) ki varlıkların, kavramsal olarak anlamlarını ve aralarındaki ilişkileri
içeren bir sözlük olarak tanımlanabilir. Burada bilgi alanından kasıt ortak kavramların
kullanıldığı süreçler veya alanlardır. Örneğin sağlık, araba sektörü, finansal planlama,
jeoloji, turizm, insan kaynakları yönetimi, kimya vb. (Özpala, 2008).
23
Ontolojiler nesneler, kavramlar ve ilişkiler tanımlayarak belirli bir etki alanına ilişkin
bilginin modellenmesini sağlamaktadırlar. Böylece sistemler arasında verilerin değiş
tokuşu için standart kavramsal söz varlıkları belirtilmekte, bilgi yeniden
kullanılabilmekte, sorgulamaların yanıtlanması için servisler sağlanmakta ve çok
çeşitli sistemler arasında birlikte işlerliği kolaylaştıran servisler
gerçekleştirilmektedir (Can, 2010).
3.2.3 Anlamsal Web Dilleri
Anlamsal Web teknolojisinde kullanılmak üzere XML syntax-tabanlı birtakım
ontoloji dilleri geliştirilmiştir.
Bunlar;
XML (ExtensibleMarkup Language)
XOL (Ontology Exchange Language)
SHOE (Simple HTML Ontology Extension)
OML (Ontology Markup Language)
RDF (Resource Description Framework)
RDF-S (RDF Schema)
OIL (Ontology Inference Layer)
DAML+OIL (Darpa Agent Markup Language)
OWL (Web Ontology Language)
şeklinde kronolojik olarak sıralanabilir (Marko vd., 2002).
Farklı kurumlar arasında veri değişimi veya araması yapan uygulamalar için
ontolojiler çok önemlidir. Her ne kadar XML, Document Type Definition (DTD) ve
XML şemalar daha önceden anlaşılmış veri yapıları üzerinde veri değişimini
mümkün kılsa da, bu dillerde anlamsallık olmadığından yeni bir XML kelime
haznesi tanımlandığında bunun bilgisayar tarafından algılanıp kullanılması mümkün
değildir. Bu sorun basit seviyede anlamsallığı ifade etmemize olanak sağlayan RDF
ve RDF Shema ile belli bir miktarda çözülmüştür, ancak çok sayıda otonom olarak
gelişen ve yönetilen şemalar arasında birlikte çalışılabilirliği sağlamak daha zengin
bir anlamsallık gerektirir. Örneğin RDF Shema’ larda bir kişinin erkek veya kadın
24
olabileceğini, bir babanın bir kişi ve bir erkek olabileceğini tanımlayabiliriz; ancak
bir babanın kadın olamayacağını ifade etme olanağımız yoktur.
Anlamsal web teknolojisiyle ilgili uygulamalar bakıldığında kullanılan diller daha
çok RDF ve OWL olduğu görülmektedir. Bu diller ontolojilerin oluşturulmasında
kullanıldığı gibi çalışma alanı nesnelerinin oluşturulmasında ve nesneler arası
ilişkilerin tanımlanmasında da kullanılır.
Geliştirilen ontoloji dillerinden bazıları ara diller olarak adlandırılmaktadır. Bunlar
daha çok ontoloji dillerinin gelişiminin önünü açmışlar ancak günümüzde artık
kullanılmamaktadır. XOL, SHOE dilleri örnek olarak verilebilir (Marko vd., 2002).
3.2.3.1 XML (ExtensibleMarkup Language)
XML' in açılımı eXtensible Markup Language yani Genişletilebilir İşaretleme Dili' dir.
Bağımsız bir kuruluş olan W3C (World Wide Web Consortium) organizasyonu
tarafından tasarlanan ve herhangi bir kurumun tekelinde bulunmayan bir işaretleme dili
olan XML, kullanıcıların kendi etiketlerini tanımlayarak çok daha rahat ve etkin
programlama yapabilecekleri ve bu belirlenen etiketleri kendi yapıları içerisinde
standardize edebilecekleri esnek, genişleyebilir ve kolay uygulanabilir bir dildir
(w3c.org, 01.09.2012). Şekil 3.6’ da XML örneğinde order sınıfına ait orderNo üyesi
tanımlanmıştır. Eğer orderNo üyesinin değerine ulaşılmak istenirse order sınıfından
orderNo üyesine erişip 23456 değeri rahatlıkla alınabilmektedir.
Şekil 3.6. Örnek XML formatı (Antoniou, 1999)
25
XML, verilerin transferi, depolanması, sorgulanması ve yönetilebilmesinin yanında
dağınık verilerin kümelenmesi, farklı veri formatlarını ve dilleri destekleyebiliyor olması
ve platform bağımsız çalışabilme özelliğiyle günümüzde ve tahminen gelecekte de
ihtiyaç duyulan bir dil olacaktır.
Anlamsal Web XML dili (Extensible Markup Language) ile veriyi tanımlarken,
uygulamalardan verilere doğru bir güç kayması meydana getirmiştir. Bu yaklaşım,
Anlamsal Web’ i daha anlaşılır hale getirmektedir. Verilerin makineler tarafından
işlenebilmesinin tek yolu veriyi daha akıllı hale getirmekten geçmektedir. Bütün
Anlamsal Web teknolojileri, akıllı verileri oluşturmaya yönelik sistemli şekilde
ilerlemesini sağlarlar (Yaşar, 2007).
XML dosyalarının en önemli özelliği geliştiricilerin özgürce ve ihtiyaçları
doğrultusunda etiketler ve etiket özellikleri kullanabilmesine imkân sağlaması
olduğu söylenebilir. Unicode karakter kodlamasını desteklemesi sayesinde XML
hemen hemen dünyadaki bütün dillerin desteklendiği bir platform haline gelmiştir
(w3c.org, 2012).
XML verinin nasıl ifade edileceğini kodlamaktadır. XML, anlamsal web’ in temelini
oluşturmaktadır. XML’ nin üzerine inşa edildiği teknolojiler Unicode karakterler ve
düzgün kaynak tanımlayıcılarıdır (Uniform Resource Identifier, URI). Unicode
karakterler, XML’ in uluslararası karakterleri kullanmasına izin vermektedir. Ancak
XML içeriğinin anlamlandırılması açısından yetersiz kalmaktadır. Çünkü XML
sadece sözdizimsel ara işlerin yapılabilmesini sağlayabilir. Başka bir deyişle bir
XML dosyasını paylaşmak içeriğe anlam kazandırmaktadır. Ancak sadece her iki
taraf elaman adlarını tanıyıp anladığında bu durum gerçekleşebilmektedir. Örneğin
bir kaynaktaki tanımlama <fiyat>12$</fiyat> şeklindeyse ve diğer kaynakta
<ucret>12$</ucret> olarak ifade edildiğini düşündüğümüzde bu iki tanımlama
arasındaki ilişkiyi ifade eden ontoloji anlamsal web teknolojileri ile oluşturulmazsa
iki tanımlamanın aynı anlama geldiği sonucunu makine tarafından anlaşılması
olanaksızdır (Yaşar, 2007).
Kısaca özetlersek;
XML uygulama bağımsız veri ve belge yaratmaktadır.
26
Üst veri (meta data) ortamı için standart bir gösterim sunmaktadır.
Veri ve belge için ortak yapısal standartlar sunmaktadır.
XML sınanmış bir teknolojidir.
XML hem bir dil hem de bir teknoloji olarak, bir verinin biçimlendirilmesi,
tanımlanması ve verilerin yapılandırılmasında kullanılmaktadır. Dolayısı ile veriler
standart bir şekilde tanımladığından, webde veya herhangi iki program arasında veri
alış verişi kolaylaşmaktadır. Bu özellikleri nedeniyle XML, anlamsal webin
geliştirilmesinde önemli bir konuma sahiptir (Kurtel, 2008).
3.2.3.2 RDF (Resource Description Framework)
RDF (Resource Description Framework – Kaynak Tanım Çerçevesi) Tim Bray
tarafından 1998 yılında tanımlanmış ve 2001 yılında Dan Brickley tarafından
güncellenmiştir (xml.com, 2012). Web teknolojilerinde bilginin gösteriminde HTML
kullanılmış, bilgilerin transferi için HTTP protokolü geliştirilmiştir. Anlamsal web
teknolojisiyle bilgilerin anlamlandırılabilmesi için XML ile RDF dilleri
geliştirilmiştir (Berners-Lee vd., 2001).
RDF her kaynağın bir URI (Uniform Resource Identifier) ile ifade edildiği, özne-
yüklem-nesne üçlüsü ile anlamın tanımlandığı bir yapıya sahiptir. Bir ifade RDF
üçlüsü olarak kodlandığında özne ve yüklemin URI’ ler ile ifade edilen kaynaklar
olması gerekirken, nesne bir kaynak ya da bir bilgi elemanı olabilmektedir. İlgili
üçlüler de XML etiketleri ile ifade edilmektedirler (Demirli vd., 2010).
RDF Schema (RDF-S) RDF veri modelini genişleten bir tip sistemidir. RDF’ in
nesneleri (kaynakları) varlık-ilişki modeline benzer yalın bir veri modeli olmasından
dolayı daha fazla tercih edilmektedir. RDF-S kullanılarak sınıflar, özellikler, alt sınıf
ve alt özellik ilişkilerinin yanı sıra etki alanı ve erim kısıtlamaları temel tanımlamalar
yapılabilmektedir (w3schools.com, 2012). Bu sistem ile bir alanda kullanılacak olan
sözcük kümesini tanımaktadır. Bu sözcük kümesi de bir alanda kullanılacak olan
nesneler, nesneler arasındaki alt/üst küme ilişkileri, özellikler, özelliklerin alabileceği
değerlerini tanımlanmaktadır. Çizelge 3.2 de RDF-S veri tanımlama modeli
görülmektedir (Akyokuş vd., 2003).
27
Çizelge 3.2. RDF-S veri modeli tanımlama elemanları
Nesne veya Özellik Açıklama
rdf:type Özne bir nesnesin örneğidir (instance) veya
tipindedir.
rdfs:Class Nesne tanımlar.
rdfs:subClassOf Nesne bir nesnenin alt nesnesidir.
rdf:Property Özellik tanımlar.
rdfs:subPropertyOf Özne bir özelliğin alt özelliğidir.
rdfs:domain Özne özelliğinin alanı.
rdfs:range Özne özelliğinin alabileceği alan değerler sahası.
rdfs:label Öznenin açıklayıcı ismi.
rdfs:comment Özne kaynağı hakkında açılayıcı tanım.
rdfs:Literal Karakter değerler sınıfı (ör: tam sayılar, karakter
dizileri).
3.2.3.3 OIL (Ontology Inference Layer) ve DAML+OIL (DARPA Agent
Markup Language)
OIL (Ontology Inference Layer) ontoloji dili, sınıflar ve sınıf ilişkileri için
tanımlamalar sağladığı gibi farklı sınıflar ve bunların özelliklerinin gösterimleri için
de limitli bir önerme sunar. İlişkiler en önemli yapıtaşını oluşturur. Sınırlı da olsa
sistemleri anlamlandırmaya yönelik semantik çıkarımlar yapmaktadır.
DAML+OIL (Darpa Agent Markup Language) ise XML uzantısı ve ontolojileri
tanımlamak için RDF-S dilinin yeteneklerini genişleten üst seviye bir dil birleşimidir.
DAML dili Amerikan hükümetinin desteklediği bir çalışma sonunda 2000 yılında
yayınlanmıştır. Bunun yanında OIL ise Avrupa Birliğinin desteklediği bir program
çerçevesinde geliştirilmiş bir dildir. DAML+OIL dilinin RDF-S’ den üstün olmasını
sağlayan özellikleri; XML Schema veri tiplerini desteklemesi, sınıf tanımlarının
28
diğer sınıfların ve özelliklerin terimleriyle ifade edilebilmesi şeklindedir (Kazandır,
2011).
3.2.3.4 OWL (Web Ontology Language)
Standart ontoloji oluşturma dilleri arasında w3c tarafından tavsiye edilen OWL (Web
Ontology Language - Web Ontoloji Dili), ontolojileri tanımlamak ve çeşitlemek için
kullanılan ve RDF’ e göre daha anlamlı bir ontoloji dilidir. Ayrıca OWL dili ile
anlamlandırma yapacak araç sayısıda diğerlerine göre fazladır.
OWL, RDF ve RDF-S üzerine inşa edilen RDF gibi XML söz dizimini
kullanmaktadır. OWL/XML söz diziminin insanlar tarafından okunması RDF/XML
söz dizimine göre daha kolaydır. Yani insanlar için daha anlaşılırdır ve XML tabanlı
olmasından dolayı platform sorunu da yaşamamaktadır (Antoniou, 1999; Özdemir,
2010).
OWL, ifade detayı kabiliyetine göre üç adet farklı versiyonu bulunmaktadır; bunlar
Şekil 3.7.’ de belirtildiği gibi en basit düzeyde olan OWL-Lite, ortalama düzeyde
ifade kabiliyetine sahip olan OWL-DL ve en kompleks bilgi gösterimlerini
yapabilecek düzeyde olan OWL-Full' dur (Battal, 2009).
Şekil 3.7. OWL dilini oluşturan alt diller
OWL Lite; kolayca ontoloji oluşturabilmek için geliştirilmiş ve OWL' a yeni
başlayan kullanıcılar için işlevsel bir dil sunmuştur. Öncelikli ihtiyaçlar olan
29
sınıflandırma hiyerarşisi ve basit kısıtlılıkları destekler. Örnek olarak önemlilik
kısıtları desteklenir. Fakat önemlilik (cardinality) değerleri olarak sadece 0 ve 1
değerlerine izin verilmiştir.
OWL DL (Description Logic) tanımlama mantığı desteği verebilmek için
geliştirilmiş ve yargılama yapabilen sistemlerin hesaplama işlemleri yapabilmelerine
olanak tanımıştır. OWL DL ile dilin anlamlılığından üst düzeyde faydalanırken, dil
tarafından varılan tüm sonuçların hesaplanabilir ve yapılan hesaplamaların belirli bir
zaman içerisinde tamamlanabilir olmasını isteyen kullanıcılar için tasarlanmıştır.
OWL DL, OWL dilinin tüm yapısını içerir. Fakat bu yapının kesin kısıtlar dâhilinde
kullanımına izin verir.
OWL Full ise, OWL DL’ nin üzerindeki bazı kısıtların kaldırılarak, birçok veritabanı
ve bilgi simgeleme sistemleri ile uyumlu bir hale getirilmesi ile oluşturulmuştur.
Bunun için hiçbir kısıtlamaya girmeden RDF’ in bütün sözdizimsel özellikleri
kullanıma açılmıştır. Fakat bu yapı da tanımlama mantığı ile çalışan yargılama
işlemlerini kısıtlamıştır. Bu nedenle yargılama araçları kullanılarak OWL Full dilinin
tüm özellikleri desteklenemez (w3.org, 2004; Kaya, 2008).
OWL dilini önceki ontoloji dillerinden ayıran farkları belirtmek gerekirse, OWL bir
web ontoloji dilidir. Daha önceki diller, bilimsel uygulamalar ya da e-ticaret
uygulamaları gibi özel alanlarda ontolojiler geliştirmek için kullanılmıştır. Bu diller
genelde World Wide Web ve özelde anlamsal web uyumlu değildir. OWL bu
geleneği RDF desteğini de arkasına alarak değiştirmiş ve ontolojilere web
ihtiyaçlarına uyarlanabilme, web standartlarına uygunluk, birçok dağıtık sistemle
uyumlu çalışabilme gibi özellikler katmıştır (Kaya, 2008-32).
Aşağıda OWL kod örneği verilmiştir (w3.org, 2013).
<owl:Class rdf:ID="TraditionalItalianOpera">
<rdfs:subClassOf rdf:resource="#Opera"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasOperaType"/>
<owl:someValuesFrom>
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
30
<owl:Thing rdf:about="#OperaSeria"/>
<owl:Thing rdf:about="#OperaBuffa"/>
</owl:oneOf>
</owl:Class>
</owl:someValuesFrom>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Bu örnek incelendiğinde TraditionalItalianOpera isminde bir sınıf tanımlanmış ve Opera
isminde bir alt sınıf tanımlanmıştır.
3.2.3.5 SPARQL
SPARQL kısaltması kendi kendisine referans veren bir kısaltmadır, açılımı SPARQL
Protocol and RDF Query Language yani SPARQL Protokolü ve RDF Sorgulama
Dili’ dir. Adından anlaşılacağı üzere RDF olarak tanımlanan veriler üzerinde
sorgular yapılmasına olanak tanır. SPARQL sorgu dili olarak RDF’ in de kullandığı
RDF/XML, turtle ve benzeri formatları kullanabilir (Battal, 2009).
RDF sorgulama dilleri üzerindeki çalışmalar sonucunda RDQL, Squish, Versa gibi
farklı yaklaşımların kullanıldığı diller geliştirilmiştir. SQL sözdizimini örnek alan bir
dil olan SPARQL kendisine geniş bir kullanım alanı bulmuştur. RDF ve OWL
sorgulama araçlarının büyük çoğunluğu SPARQL desteği sunmaktadır. Örnek bir
SPARQL kodu Şekil 3.8.’ de görülmektedir (Keskin ve Sezer, 2009).
Şekil 3.8. SPARQL sorgu biçimi
Şekil 3.8’ de verilen SPARQL sorgu biçimi bileşenleri şu şekilde açıklanabilir:
URI’leri, yani biricik kaynak tanıtıcılarını kısaltmada kullanılan ön ek
bildirimleri,
31
sorgudan elde edilmek istenen bilgilerin belirtildiği sonuç yancümlesi,
veri kümesi üzerinde yapılacak sorgunun belirtildiği sorgu kalıbı,
sıralama, bölme gibi sonuç kümesi üzerinde düzenleme yapmaya yarayan sorgu
değiştiricileri.
SPARQL SELECT, ASK, DESCRİBE ve CONSTRUCT sorguları olmak üzere dört
sorgu türünü desteklemektedir (w3.org, 2013). SELECT sorgusu verilen sorgulama
örüntüsüne uyacak şekilde üzerinde çalışılan veri kümesinden istenilen değişkenlerin
tamamını ya da bir kısmını döndürmeye yarar. ASK sorgusu veri kümesi içinde
sorgulama örüntüsünü karşılayan veri bulunup bulunmadığının cevabını döndürür.
DESCRIBE sorgusu, sorgulama örüntüsü ile veya doğrudan URI ile tanımlanan
kaynağın RDF veri kümesi içindeki tanımlamasını döndürür. CONSTRUCT
sorgulaması verilen sorgulama örüntüsünü veri kümesi içinde arar ve yine sorguda
verilen şablona uyan bir şema (graph) üretir (Battal, 2009; w3.org, 2013).
3.3. Ontoloji Geliştirme Araçları
Anlamsal ağ teknolojisinde kullanılan ontolojilerin oluşturulması ve bunların
kullanıla bilmesi için bazı araçlara ihtiyaç vardır. Ontoloji oluşturmak için kullanılan
bazı araçlar aşağıda listelenmiştir.
Apollo (http://apollo.open.ac.uk/)
LinkFactory (http://www.landc.be/)
OntoEdit (http://www.ontoprise.de/products/ontoedit_en)
OILed (http://oiled.man.ac.uk/)
Ontolingua (http://www-ksl.stanford.edu/)
Ontosaurus (http://www.isi.edu/isd/ontosaurus.html)
OpenKnoME (http://www.topthing.com)
Protégé 2000 (http://protege.stanford.edu/)
SymOntoX (http://www.symontox.org) 33
WebODE (http://webode.dia.fi.upm.es/)
WebOnto (http://kmi.open.ac.uk/prpjects/wenonto)
32
SESAME (http://www.openrdf.org)
RDFDB (http://guha.com/rdfdb)
RDFSTORE (http://rdfstore.sourforge.net)
JENA (http://hpl.hpcom/semweb/jena-top.html)
KAON (http://kaon.semanticweb.org)
Yukarıda listelenen Ontoloji araçlarından Protégé en çok tercih edilen araçlar
arasındadır. Bu tez çalışması çerçevesinde ontoloji geliştirmek için Protégé ve daha
çok sorgulamalarda kullanılan Jena araçları kullanılmıştır.
3.3.1 Protègè
Protégé, Stanford University ile University of Manchester tarafından ortaklaşa olarak
Java ile geliştirilmiş açık kaynak kodlu ve ücretsiz bir uygulamadır. Protégé,
sağladığı ontoloji API’ si sayesinde genişletilebilir esnek bir uygulamadır. Protégé
yardımıyla Internetten bulacağımız ontolojiler incelenebileceği gibi yeni bir ontoloji
oluşturmakta mümkündür. Bunun yanında aynı anda birden fazla ontoloji ile
çalışmaya imkân sağlamaktadır. Protégé, kullanıcılara kolaylıkla ontoloji
geliştirebilmelerini sağlayan, ontolojilerle sorgulama işlemleri yapabilmelerine
olanak tanıyan bir grafik arayüze sahiptir. Kullanıcılar tarafından tercih edilme
sebeplerinden bazıları aşağıdaki gibi özetlenebilir (Türksoy, 2007);
Çok aktif bir geliştirici ve kullanıcı topluluğuna sahip olması,
Daha gelişmiş ve kullanıcı dostu bir kullanım arayüzüne sahip olması,
Daha yetkin ve alternatif ontoloji görüntüleme eklentilerine sahip olması,
Ontoloji geliştirme, sorgulama, çıkarım vb.. işlemler için geliştirilmiş pek çok
Yardımcı anlamsal web araç ve teknolojiyle (Jena, Jess, SPARQL, ARQ,SWRL
(Horrocks, 2004), Fact++ (Tsarkov and Horrocs, 2006), RacerPro,Pellet vs..)
uyumlu çalışabilmesi,
Yeterli derecede dökümantasyona sahip olması,
Protégé geliştiricileri ontolojilerini OWL dili kullanarak geliştirmek isteyenlere
Protégé 4.x sürümünü, RDF dili kullanılacaksa Protégé 3.x sürümlerini
önermektedirler. Şuan Protégé4.2 (beta) sürümü mevcuttur
33
(protegewiki.stanford.edu, 2013). Şekil 3.9.’ da örnek bir Protégé penceresi
görülmektedir.
Şekil 3.9. Protégé arayüzü
3.3.2 Jena
HP Laboratuarları tarafından geliştirilmiş ve W3C tarafından standart kabul edilen
Jena, Anlamsal Web uygulamalarının geliştirildiği bir Java çatısıdır. Anlamsal Web
bilgi modeli ve dillerini kullanan uygulamaların kolay bir şekilde geliştirilmesine
olanak sağlamaktadır. RDF, RDF-S, OWL ve SPARQL için programlama ortamını
sağlamasının yanında kural tabanlı bir çıkarsama motoruna sahiptir (jena.apache.org,
2013). Jena açık kaynak kodu Java kütüphanesine aktarılarak kullanılmaktadır.
Jena’nın en önemli avantajı, Anlamsal Web uygulama geliştiricisine kullanılan
34
ontoloji dilinden bağımsız olarak tutarlı bir programlama dili arayüzü sağlamasıdır
(Can ve Ünalır, 2010). Jena’ nın doküman desteğinin olması kullanıcılar tarafından
tercih edilmesinin en önemli nedenleri arasında sayılabilir. Bunun yanında
kullanıcılarının çok olması Jena’ nın sağladığı API’ lerin daha sağlam ve test edilmiş
olmasını sağlamaktadır.
3.3.3 NetBeans
NetBeans, kullanımı kolay olan arayüzü sayesinde Java geliştiricileri tarafından tercih
edilen, Sun Microsystems tarafından Haziran 2000 yılında geliştirilmeye başlanan ve
ücretsiz olarak dağıtılan Java geliştirme ortamıdır. Günümüzde iki ürün bulunmaktadır:
NetBeansIDEsi ve NetBeans Platformu.NetBeansIDE’si programcıların yazma, derleme,
hata bulma ve yüklemelerini sağlayan bir araç olan geliştirme ortamıdır. Java ile
yazılmış olmasına rağmen herhangi bir programlama dilini destekleyebilir.
NetBeansIDE’sini genişletmek için çok sayıda modül bulunmaktadır. Ayrıca hâlihazırda
bulunan NetBeans Platformu, modüler ve genişletilebilir yapısıyla büyük masaüstü
yazılımları üretmede kullanılmaktadır. Şekil 3.10’ da NetBeans IDE 7.1.2 sürümüne ait
örnek bir ekran görüntüsü görülmektedir.
Şekil 3.10. NetBeans IDE 7.1.2 ekran görüntüsü
35
4. ARAŞTIRMA BULGULARI
Günümüz web teknolojisinde bulunan verilerin sadece insanlar için anlamlı olması
kullanıcıların istedikleri verilere ulaşmasını ciddi oranda kısıtlamaktadır. Anlamsal
web yardımıyla web ortamında bulunan bilgilerin anlamlandırılması ve bu verilerin
birbirleriyle ilişkilendirilmesi sayesinde kullanıcılar ulaşmak istedikleri verilere daha
kısa sürede ulaşabileceklerdir. Anlamsal webin özelliklerinin kullanılabilmesi,
altyapısında ontolojilerin kullanılması ile mümkün olacaktır. Ontolojiler sayesinde
kullanıcının sorguları sonucunda kendisine en uygun bilginin kısa sürede sunulması
amaçlanmaktadır. Örneğin; kullanıcı “ağaç” sorguladığında, bilgisayar bilimleri
konusu olan “ikili ağaç veri yapıları” ile ilgili sonuçlarla, biyoloji konusu olan
ağaçlarla ilgili sonuçlar bir arada gelmektedir. Hâlbuki kullanıcı biyoloji alanı ile
ilgileniyorsa, “ağaç, biyoloji” şeklinde bir sorgu yaptığında, daha çok ve öncelikli
olarak biyoloji alanı ile ilgili sonuçlarla karşılaşmalıdır (Türksoy, 2007).
Gerçekleştirilen çalışmada öncelikle Protégé programı yardımıyla
ComputerNetworks ontolojisi oluşturulmuştur. Oluşturulan ontolojiden veri
çekebilmek için Java dili kullanılarak SPARQL sorgulama dili kullanılmıştır.
4.1 Ontolojinin Oluşturulması
Gerçekleştirilen çalışmada kullanılacak olan ontolojinin oluşturulması için
ontolojinin çalışma alanı belirlenmeye çalışılmıştır. Öncelikle örnek ders olarak
Süleyman Demirel Üniversitesi Uzaktan Eğitim MYO Bilgisayar Teknolojileri
Bölümünde okutulmakta olan “Bilgisayar Ağları” dersi seçilmiş, dersi veren öğretim
elemanlarıyla ve dersi alan öğrencilerle sözlü görüşmeler yapılarak, bu derste
öğrencilerin öğrenmekte zorlandıkları bölümler, konular ve kavramlar belirlenmeye
çalışılmıştır. Bu sayede çalışma için gerçekleştirilecek örnek uygulamaların çalışma
alanları tespit edilmeye çalışılmıştır.
36
4.1.1 Ontolojide Sınıflar ve Altsınıfların Oluşturulması
e-Ders içeriğinden sağlanan içerik ağacı örnek alınarak Protégé programı yardımıyla
uygulamada kullanacağımız Şekil 4.1’ de görülen ComputerNetworks ontolojisi
oluşturulmuştur.
Şekil 4.1. ComputerNetworks ontolojisinin Protégé görüntüsü
Ontoloji kavramları ve bir etki alanı içinde bu kavramlar arasındaki ilişkileri
tanımlamak için kullanılan bir veri modelidir. Ontolojiler anlamsal web için bilgi
gösterimin ana bileşeni olarak çalışırlar (Rajapaksha vd., 2008). Oluşturduğumuz
ontolojide ders içeriğinde bulunan bölümleri ve alt bölümleri sınıflara göre
gruplandırarak eğer varsa aralarında ki ilişkiler belirlenmiştir. Bu işlemleri
gerçekleştirirken Bilgisayar Ağları e-Ders içeriğine bağlı kalarak, bölümlerin
hiyerarşik sıralaması gerçekleştirilmiştir. Bu sıralamaya göre kimi bölümler üst sınıf
kimi bölümlerde alt sınıf olarak belirlenmiştir. Genel ünite başlıkları üst sınıf olarak
tanımlanırken, ünitelerin alt başlıkları da alt başlık olarak tanımlanmıştır. Örneğin;
37
Şekil 4.1’ de görüldüğü gibi üst sınıf olarak tanımlanan AglarinSiniflandirilmasi
sınıfının alt sınıfı AgYapilari, AgYapilari sınıfının alt sınıflarıda topoloji türleri olan
FizikselTopoloji ve MantiksalTopoloji sınıflarıdır.
Oluşturulan ontolojide örnek uygulamamızda kullanacağımız sınıfların üyeleri
(members) tanımlanmıştır. Tanımlanan üyeler uygulamamızda kullanacağımız
kavramlar, konu başlıkları veya tanımlama gerektiren ifadeler olabilir. Örneğin Şekil
4.2’ de uygulamamızda kullanacağımız ComputerNetworks ontolojisinin içinde
oluşturulan FizikselTopoloji sınıfının üyeleri tanımlanmıştır.
Şekil 4.2. FizikselTopoloji sınıfının üyeleri
Buraya kadar olan bölüm içerisinde terimlerin sınıfları ve alt sınıfları tanımlanarak
bu sınıflara ait varsa üyeler eklenmiştir. Bundan sonraki bölümde ise bu üyeler ve
sınıflar arasında olan özellikleri belirlemek ve bu özellikleri tanımlamak olacaktır.
4.1.2 Özelliklerin Belirlenmesi ve Tanımlanması
Protégé programının arayüzünde tanımlayabileceğimiz iki tip özellik vardır. Bunlar
ObjectProperty ve DataProperty’ dir (Protégé, 2013). ObjectProperty ile daha önce
oluşturduğumuz bireyler (individual) arasındaki bağlantıları yani ilişkileri
tanımlanabilir. DataProperty ile ise tanımlanan bireylerin özellikleri belirlenmektedir
(Staab, 2009).
Özellikleri tanımlarken karşımıza Domain ve Range kavramları çıkmaktadır. Domain
hangi üyelerin o özelliği alacağını belirlerken, Range ise o özelliğin nereden
alınacağını belirlemektedir. (Segaran, vd., 2009). Şekil 4,3’ de görüldüğü gibi
38
Animal ve Human sınıflarına ait bireylerin göz rengine sahip olduğunu belirten
hasEyeColor özelliği, değerini Color sınıfında tanımlanan bireylerden (individual)
almaktadır.
Şekil 4.3. Domain ve Range kavramları örneği
ComputerNetworks ontolojisi içerisinde tanımlamış olduğumuz bireyler arasındaki
ilişkileri belirleyebilmek için ObjectProperty ‘leri Şekil 4.4’ de olduğu gibi
tanımlanmıştır. Şekil 4.4’ de görüldüğü gibi en üst sınıf olarak “topObjectProperty”
bulunmaktadır ve diğer özellikler bunun altında oluşturulmaktadır.
Şekil 4.4. ObjectProperty örnekleri
Örneğin tasarlanan ontolojide AgCihazları sınıfında bulunan üyelerin hangi kablo
türünü kullandıklarını belirtebilmek için KablosunuKullanir ObjectPropert
tanımlanmıştır. Bu sayede AgCihazları sınıfının üyesi olan Hub cihazının kullanmış
olduğu ve Kablolar sınıfının altında bulunan kablo türleriyle ilişkilendirilmiştir. Aynı
39
şekilde tanımlanan TopolojisiniKullanir özelliği sayesinde yine Hub cihazının hangi
ağ topolojisiyle ilişkili olduğunu (kullandığını) belirtmektedir. Örnek olarak Hub
cihazının ilişkileri Şekil 4.5’ de görülmektedir.
Şekil 4.5. Hub cihazının ilişkili olduğu diğer üyeler
Şekil 4.5’ e bakıldığında Hub cihazının STP kablo, UTP kablo tipi kablo kullandığını
ve Ring topolojisine sahip olduğunu anlaşılmaktadır. Tanımlanan KablosunuKullanir
özelliği sayesine ‘Hub cihazı hangi kablo türlerini kullanır?’ sorusuna cevap vermiş
olmaktadır.
ComputerNetworks ontolojisi bireylere ait olan, örneğin çalışma voltajı, görüntüsü,
port sayısı gibi özellikleri DataProperty olarak Şekil 4.6’ da olduğu gibi
tanımlanmıştır. Şekil 4.6’ da görüldüğü gibi en üst sınıf olarak “topDataProperty”
bulunmaktadır ve diğer özellikler bunun altında oluşturulmaktadır.
Şekil 4.6. DataProperty örnekleri
40
DataProperty tanımlarken de Domain ve Range alanları belirlenmelidir.
ObjectProperty den farklı olarak burada Range için bir sınıf değil bir veri tipi
seçilmelidir. Şekil 4.6’ da görülen DataPropert alanında örneğin Tanim özelliğinin
türü string olarak belirlenmiştir. Bu sayede Hub cihazının kısa bir tanımı Tanim
özelliğine aktarılmıştır.
Protégé programıyla oluşturulan ComputerNetworks ontolojisinin grafiksel
görünümü Proégé programında bulunan OntoGraf özelliği sayesinde Şekil 4.7’ de
görülmektedir. OntoGraf; ontolojilerin bir bütün olarak görülebilmesinin yanında;
sınıflar, altsınıflar, özellikler, ilişkiler ve yönleri gibi özelliklerinde görülebilmesini
sağlamaktadır (OntoGraf, 2013). Şekil 4.7 incelendiğinde örneğin AgCihazlari
sınıfına ait olan Hub nesnesinin ilişkili olduğu diğer sınıf ve nesneler ayrıntılı bir
şekilde görülmektedir. Örneğin Hub cihazı KablosunuKullanir özelliğiyle STPKablo
nesnesine bağlanmıştır. Ayrıca OntoGraf yardımıyla Hub ile LAN nesnelerinin
ilişkili olduğu görülmektedir.
Şekil 4.7. ComputerNetworks ontolojisinin OntoGraf görüntüsü
4.2 Jena ile SPARQL Sorgularının Çalıştırılması
Jena; açık kaynak kodlu ve Java tabanlı anlamsal ağ için geliştirilmiş araçtır.
Hewlett-Packard anlamsal ağ geliştirme ve araştırma laboratuvarlarında geliştirilen
41
Susame ile benzer fonksiyonel yapıya sahiptir. Ancak Susame’ ye göre yerleşik
OWL desteği ve çeşitliliği daha fazla olması ve Jena içerisinde gelişmiş grafik
hizmetinin yanında SPARQL sorgulama desteği sağlaması üstünlükleri arasındadır.
Jena kütüphanesinin araştırma kökenli ve açık kodlu olmasından dolayı geliştirilmesi
daha hızlı ilerlemektedir. Tüm bu sebeplerden dolayı Jena’ nın kullanımı ve
öğrenilmesi daha kolaydır (Seraganvd, 2009). Java ortamında Jena API (Jena, 2012)
anlamsal web çatısı kullanılarak gerçekleştirilmiştir. Model içerisinde yer alan
sorgular SPARQL sorgu dili ile gerçekleştirilmiştir.
SPARQL anlamsal web üzerinde veri arama için kullanılan tekniklerden biridir.
SPARQL 2008 yılında World Wide Web Consortium (W3C) tarafından anlamsal
web teknolojilerinde kullanılan bir sorgu dili olarak önerilmiştir. SQL söz dizimini
örnek alan bir dil olan SPARQL anlamsal web teknolojisinde geniş bir kullanım
alanı bulmuştur (Fujino vd., 2012).
Örnek bir SPARQL sorgu kalıbı Şekil 4.8’ de verilmiştir (Sparql, 2013).
Şekil 4.8. SPARQL sorgu örneği
Şekil 4.8’ de verilen SPARQL sorgu biçimi bileşenleri şu şekilde açıklanabilir:
PREFIX ile URI’leri, kaymak tanımlaması için kullanılan kısaltmalar için ön
ektir,
SELECT ile kaynaktan bazı koşulları sağlayan sonuçların dödürülmesi
sağlanır,
FROM ile kaynak tanımlanır,
WHERE ile sorgunun şartları belirtilir,
42
ORDER BY ile gelen sonuçların sıralanması sağlanır.
Yukarıdaki anlatımda da görüldüğü gibi SPARQL sorgu dili SQL sorgu diline çok
benzemektedir. Şekil 4.8’ de görülen?name ifadesi SPARQL içinde değişken
tanımlamak için kullanılmaktadır.
Uygulama içinde iki sınıf arasındaki ilişkileri getiren sorgu örneği Şekil 4.9’ da
verilmiştir. Bu sorgu çalıştırıldığında ComputerNetworks.owl ontolojisinde bulunan
AgCihazalari ve AgYapilari sınıfları arasında tanımlanan ilişkilerin tamamı
çekilmektedir. Daha sonra çekilen sorgu bir döngü yardımıyla tek tek alınarak
ComboBox nesnesine eklenmektedir.
Şekil 4.9. Uygulamada kullanılan sorgu örneği
4.3 Java Dili ile Arayüzün Hazırlanması
Sun Microsystems, firması tarafından Haziran 2000 tarihinde başlatılmış ve halen devam
edilen açık kaynak kodlu bir proje olan NetBenas, çok geniş kullanıcı tabanına sahip bir
yazılım geliştirme platformudur. Günümüzde iki önemli ürünü bulunmaktadır: NetBeans
IDE ve NetBeans Platformu.
43
NetBeansIDE’ si programcıların yazma, derleme, hata bulma ve yüklemelerini sağlayan
bir araç olan geliştirme ortamıdır. Java ile yazılmış olmasına rağmen herhangi bir
programlama dilini destekleyebilir. NetBeans IDE’ sini genişletmek için çok sayıda
modül bulunmaktadır. NetBeans IDE, nasıl kullanıldığına ilişkin hiçbir sınırlama
bulunmayan ücretsiz bir üründür (NetBeans, 2013).
NetBeans IDE 7.0.1 programında tasarlanan çalışmanın uygulamasında öğrencinin
izlediği ders içeriğinde öne çıkan terimler SPARQL sorgularıyla, tasarlanan
ontolojiden çekilerek öğrenciye sunulmaktadır. Ayrıca ComputersNetworks
ontolojisinin tasarım aşamasında, örnek olarak seçilen dersi alan öğrencilerle ve dersi
veren öğretmenlerle yapılan sözlü görüşmeler sonucunda ve öğrencilerin daha önce
sordukları sorulardan yola çıkarak, ontolojideki nesneler için tanımlanan özelliklerde
uygulamada sıralanmaktadır. Böylece öğrenci seçmiş olduğu terimin diğer sınıflarla
arasındaki ilişkilerini ve seçmiş olduğu terimin kendine has olan özelliklerini de
görme şansına sahip olmaktadır.
Örneğin; öğrenci Bilgisayar Ağları dersinin Ağ Cihazları konusunu izledikten sonra,
bu derste bulunan terimleri ve sorabileceği soruları görebileceği ekran çıktısı Şekil
4.10 ve Şekil 4.11’ de verilmiştir.
Şekil 4.10. Switch cihazının “Kullandığı Kablo” sorusu ve cevabı
44
Şekil 4.11. Hub cihazının özellikleri ve görünümü
Şekil 4.10 ve Şekil 4.11’ den yola çıkarak uygulamanın çalışmasını özetleyecek
olursak; öncelikle öğrenci istediği konuyu izlemekte ve konuyla ilgili soru
sorabileceği konu başlıklarını görebilmektedir. Bunun yanında sorabileceği soruları
da görebilmektedir. Şekil 4.10’ da görülen ekran görüntüsünde öğrenci Switch
cihazının kullandığı kabloları merak etiğini ve bu seçeneği seçtiğini ele alırsak;
altında soruya verilen cevap görülmektedir. Bu sayede öğrenci web ortamında
izlediği bir konuda aklına takılan sorulara doğru ve hızlı bir şekilde cevap
alabilecektir. Bununda öğrencin konuyu kavraması ve bilgiye kısa sürede ulaşması
açısından da yaralı olacağı görülmektedir.
Cevapları ortaya çıkartırken sadece ontolojide bulunan ilişkilerden yararlanılmıştır.
Yani cevap bize ontolojinin yorumlanması sonucunda verilmektedir ki bu da
anlamsal web teknolojisinin ürünüdür. Bu durum tek kaynaktan ilişkilendirilmiş
ontolojiden sonuçların çekilmesi, sonuçların doğruluğu açısından da önemlidir.
Ayrıca günümüzde Internetteki bilgilerin güvenilirliği sorununda önüne anlamsal
web teknolojisiyle geçilebileceği düşünülmektedir.
45
5. TARTIŞMA VE SONUÇLAR
Bu çalışmada, uzaktan eğitim sistemlerinde kullanılmak üzere anlamsal web
teknolojisi kullanılarak uzaktan eğitim sistemlerinde kullanılabilecek yapıda örnek
bir e-ders içeriği uygulaması geliştirilmiştir. Oluşturulan ders içeriği sayesinde,
öğrencilerin sorularına doğru ve hızlı bir şekilde cevap verilmesi sağlanmıştır. Bu
sayede öğrencinin derslerle olan etkileşiminin artacağı düşünülmektedir. Ayrıca
konular arasında bağ kurmasına yardımcı olunmuş ve daha kalıcı öğrenmesine
yardımcı olunmuştur. Bu sonuçlar çerçevesinde çalışma iki aşamada
değerlendirilebilir. Birinci aşama seçilen örnek derse ait ontolojinin geliştirilmesi,
ikinci aşama ise geliştirilen ontolojinin anlamsal web araçlarıyla işlenmesidir.
Ontoloji geliştirme sürecinde öncelikle uygulama için seçilen dersi veren öğretim
elemanlarıyla ve dersi alan öğrencilerle sözlü görüşmeler gerçekleştirilmiştir. Bu
sayede oluşturulan “Bilgisayar Ağları” dersine ait ComputerNetworks ontolojisinin
çalışma alanı belirlenmiştir. Ontolojinin çalışma alanı belirlendikten sonra ontolojide
kullanılacak sınıflar, alt sınıflar ve sınıfların üyeleri belirlenerek, ontoloji geliştirme
araçlarıyla ontoloji tasarlanmıştır. Ancak gerçekleştirilen çalışma sadece seçilen
örnek bir ders ve sınırlı konular arasında oluşturulan ontoloji üzerinde uygulanmış
olması öğrencilerin soracakları soruları sınırlandırmaktadır.
İkinci aşamada ise oluşturulan ontolojinin işlenmesi ve kullanıcı arayüzünün tasarımı
gerçekleştirilmiştir. Ontoloji oluşturulurken sınıflar arasında oluşturulan ilişkiler
sayesinde, öğrencilerin sorabilecekleri sorular listeside oluşturulmuştur. Özellikle
ontoloji sorgulama dili SPARQL sayesinde sınıflar arasında kurulan ilişkiler
ontolojiden çekilmiştir. Ontolojiden elde edilen bilgiler, NetBeans yazılım geliştirme
ortamı aracılığıyla Java dili kullanılarak, kullanıcı için anlamlandırılarak
sunulmuştur. Bu durum kullanıcının konular arsında ne tür bir bağ olduğunu görmesi
açısından önemlidir. Ancak bunu sağlayabilmek için konuya hâkim bir uzamandan
yardım almak gerekmektedir. Aksi durumda konular arsında ki bağ eksik ya da
yanlış olabilmekte bu da kullanıcıya yanlış sonuçların getirilmesine neden olabilir.
Yine uygulamada kullanıcı arayüzü daha çok, sonuçların görsel olarak desteklenmesi
için yardımcı olmaktadır. Kullanıcı arayüzü çalışmanın sonraki aşamalarda
46
geliştirilebilir alanlarından biridir. Gerçekleştirilen çalışma uzaktan eğitim ders
içeriklerine dâhil edilmesi öğrencilerin daha rahat ulaşmasına olanak tanıyacaktır.
Gerçekleştirilen çalışmanın örnek bir uygulama olması kapsamının dar olmasına
neden olmuştur. Bundan sonraki çalışmalarda, derslerin tamamını kapsayan
ontolojilerin oluşturulması ve aynı zamanda ilişkili olan derslerin ontolojileri
arasındaki ilişkilerinde tanımlanması, yeni bölümlere ait derslerinin ontolojilerinin
oluşturulup bu dersler ile ontolojilerinin arasındaki ilişkilerin tanımlandığı bir ortak
ontoloji oluşturulması sistemin daha kullanışlı olmasını sağlayacaktır. Bu sayede
uzaktan eğitim öğrencisi hem bir ders içindeki konuların bütünlüğünü
sağlayabileceği gibi dersler arasındaki bütünlüğünde sağlamasına olanak
sağlayacaktır. Bu durum daha kalıcı öğrenmenin sağlanmasına yardımcı olacaktır.
Gelişen anlamsal web teknolojisi sayesinde önümüzdeki zaman diliminde uzaktan
eğitim ders içeriklerini otomatik olarak ontoloji yapısına çeviren sistemler
oluşturulabilirse farklı kaynaklardan daha fazla veri çekilmesi sağlanacaktır. Farklı
kaynakların tanımlanması ortak dersler için hazırlanan ontolojilerin tekrar tekrar
kullanılmasını sağlayacaktır. Anlamsal web teknolojisinin bu özelliği sayesinde hem
verinin güvenirliliği artacak hemde Internetteki bilgi kirliliğinin de önüne
geçilmesini sağlayacaktır.
47
KAYNAKLAR
Adıyaman, Z., 2002. Uzaktan Eğitim Yoluyla Yabancı Dil Öğretimi. The Turkish
Online Journal of Educational Technology-TOJET, 1(1), 92-97.
Akyokuş, S., Güven, A., 2003. Anlamsal Web, Anlamsal Web Dilleri ve Araçları.
Erişim Tarihi: 03.05.2011.
www.edirnevdb.gov.tr/kultur/ppt/anlamsal_web_rdf_dc_owl.ppt.
Al, U., Madran, R.O., 2004. Web Tabanlı Uzaktan Eğitim Sistemleri: Sahip Olması
Gereken Özellikler ve Standartlar. Bilgi Dünyası, 5(2), 259-271.
Altundaş, H., Körpe, E., Şarıoğlu, D., 2004. Web Tabanlı Öğretim. Erişim Tarihi:
09.09.2012, mail.baskent.edu.tr/~20494892/projelerim/Presentation2.ppt.
Amorim, R. R., Lama, M., Sánchez, E., Riera, A., Vila, X. A., 2006. A Learning
Design Ontology based on the IMS Specification. Educational Technology &
Society, 9(1), 38-57.
Antoniou, G., Harmelen, F.V., 2003. A Semantic Web Primer. The MIT Press, 244s,
London-England.
Battal, A., 2009. Semanik Web İle Geliştirilen Bir Televizyon Program Öneri
Sistemi. TOBB Ekonomi ve Teknoloji Üniversitesi Fen Bilimleri Enstitüsü,
Yüksek Lisans Tezi, 88s, Ankara.
Berners-Lee, T., Hendler, J., Lassila, O., 2001. The The Semantic Web: A new form
of Web content that is meaningful to computers will unleash a revolution of
new possibilities. Scientific American, 284(5), 34-43.
Beyan, O.D., Beyan, T., Baykal, N., 2010. Sağlık Bakımı Performans Ölçümü
Ontolojisi ve Bilgi Tabanı. TURKMIA’10 Proceedings VII. Ulusal Tıp
Bilişimi Kongresi Bildirileri, Mağusa-KKTC, 132-141.
Bulu, H., Alpkoçak, A., Balcı, P., Dicle, O., 2010. Mamografik İncelemeler için
Vaka Tabanlı Sorgulama Sistemi, TURKMIA’10 Proceedings VII. Ulusal Tıp
Bilişimi Kongresi, 14-17 Ekim, Mağusa-KKTC, 50-59.
Çabuk, A., Erdoğan, Ş., 2001. Bilgisayar Destekli Tasarım ve Coğrafi Bilgi
Sistemlerinin Kullanım Olanaklarının Genişletilebilmesi için İnternet Tabanlı
Eğitim Modellerinden Yararlanılması. Erişim Tarihi: 01.02.2012.
http://ab.org.tr/ab01/prog/FTAlperCabuk.html.
Çalışkan, S., 2002. Uzaktan Eğitim Web Sitelerinde Animasyon Kullanımı. Açık ve
Uzaktan Eğitim Sempozyumu, 23-25 Mayıs, Eskişehir.
Can Ö., Ünalır M. O., 2008. Using Ontology Based Policies in Semantic Web
(Anlamsal Web'de Ontoloji Tabanlı Politikaların Kullanımı). Conference on
48
Electrical and Electronics Engineering (ELECO 2008), Bursa, Turkey,
November 26-30.
Can, Ö., Ünalır, M.O., 2010. Ontoloji Tabanlı Erişim Denetimi. Pamukkale
Üniversitesi Mühendislik Bilimleri Dergisi, 16(2), 197-206.
Can, Ö., Ünalır, M.O., 2010. Anlamsal Web Politika Dillerinin Karşılaştırılması.
Akademik Bilişim 2010, 10-12 Şubat, Muğla.
Canayaz, M., 2010. Çevrimiçi İletişimi Destekleyen Web Tabanlı Uzaktan Eğitim
Portalı Yazılımı. Yüzüncü Yıl Üniversitesi, Fen Bilimleri Enstitüsü, Yüksek
Lisans Tezi, 87s, Van.
Çekiç, U., 2010. Uzaktan Eğitim Sistemi Tasarımı. İstanbul Üniversitesi, Fen
Bilimleri Enstitüsü, Yüksek Lisans Tezi, 113s, İstanbul.
Çelik, D., Elçi, A., 2011. Finding Suitable Course Materials through a Semantic
Search Agent for Learning Management Systems of Distance Education.
Computer Software and Applications Conference Workshops
(COMPSACW), 18-22 July, Munich/Germany, 386-391.
Çelik, D., Elçi, A., Elverici, E., İnan. N., Çelik, C., 2011. Uzaktan Eğitim Ders
Yönetim Sistemi için Anlamsal Tabanda Kaynak Tarama Ajanı. 4.
Mühendislik ve Teknoloji Sempozyumu (MTS4 2010), 28-29 Nisan, Ankara.
Çelik, F., 2006. Türk Eğitim Sisteminde Hedefler ve Hedef Belirlemede Yeni
Yönelimler. Burdur Eğitim Fakültesi Dergisi, 11, 1-15.
Çoban, H.D., 2010. Bir Anlamsal Web Uygulaması Olarak Türkiye Organik Tarım
Bilgi Portalı Tasarımı. Çukurova Üniversitesi, Fen Bilimleri Enstitüsü,
Yüksek Lisans Tezi, 60s, Adana.
Dağ, F., Erkan, K., 2007. E-Öğrenme ve Anlamsal WEB. Ulusal Teknik Eğitim,
Mühendislik ve Eğitim Bilimleri Genç Araştırmacılar Sempozyumu (UMES
2007), 21-23 Haziran, Kocaeli, 146-150.
Demirli, C., Kütük, Ö.F., 2010. Anlamsal Web (Web 3.0) ve Ontolojilerine Genel
Bir Bakış. İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi, 9(18), 95-105.
Emiroğlu, B.G., 2009. Semantic Web (Anlamsal Ağ) Yapıları ve Yansımaları.
Akademik Bilişim’09 - XI. Akademik Bilişim Konferansı Bildirileri, 11-13
Şubat, Şanlıurfa.
Fiş Erümit, S., 2011. Web Tabanlı Uzaktan Eğitimde Ders Materyali Tasarımı,
Uygulaması ve Materyal Tasarım Kriterlerinin Belirlenmesi. Karadeniz
Teknik Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 136s,
Trabzon.
49
Fujino, T.,Fukuta, N., 2012. A SPARQL Query Rewriting Approach on
Heterogeneous Ontologies with Mapping Reliability. IIAI International
Conference, 20-22 September, Hamamatsu, 230-235.
Garcîa-Sânchez, F., Valencia-Garcîa, R., Martînez-Béjar,R., Fernândez-Breis, J.T.,
2009. An Ontology, Intelligent Agent-Based Framework for the Provision of
Semantic Web Services. Expert Systems with Applications, 36(2), 3167–
3187.
Gezer, A., Koçer, S., 2008. Uzaktan Eğitimde Sesli ve Görüntülü Yayınların İnternet
Üzerinden Aktarılması. Bilişim Teknolojileri Dergisi, 1(2), 87-92.
Girginer, N., Özkul, A. E., 2004. Uzaktan Eğitimde Teknoloji Seçimi. The Turkish
Online Journal of Educational Technology – TOJET, 3(3), 155-164.
Güney, K., 2009. Anlamsal Web ve Etmen Teknolojileri Kullanarak Sağlık Bilgi
Sistemi Geliştirme. Ege Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans
Tezi, 171s, İzmir.
Gruber, T.R, 1993. Toward Principles for the Design of Ontologies Used for
Knowledge Sharing. International Journal Human-Computer Studies, 5(6),
907-928.
Hekimoğlu, M., 2012. Yaşam Boyu, Eğitim Çerçevesinde, Sürekli Eğitim
Merkezleri. Eğitime Bakış Dergisi, 8(23), 153-156.
Horton, W., 2000. Designing Web Based Training. John Wiley &Sons Inc., 607s.
New York.
İşman, A., 2011. Uzaktan Eğitim. Pegem Yayınları, 890s, Ankara.
Jena, 2013. Erişim Tarihi: 15.02.2013. http:// http://jena.apache.org/.
Kasimati, A., and Zamani, E., 2011. Education and Learning in the Semantic Web.
Informatics (PCI) 15th Panhellenic Conference, 30 September-2 October,
Kastonia, 338-344.
Kaya, G., 2008. e-Öğrenme Ortamları için Özlü Sözler Ontolojisinin Tasarımı ve
Uygulaması. Hacettepe Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans
Tezi, 65s, Ankara.
Kaya, Z., 2002. Uzaktan Eğitim. Pegem Yayınları, 281s, Ankara.
Keskin, Ö., Sezer, E., 2009. Kaynak Kod Sorgulamada Ontoloji Kullanımı. 4. Ulusal
Yazılım Mühendisliği Sempozyumu - UYMS'09, 8-10 Ekim, İstanbul, 289-
295.
Kontotasiou, D., Bratsas, C., Bamidis, P.D., 2011. Modeling Medical Interventions
Using the Semantic MediaWiki for Use in Healthcare Practice and Education.
50
CBMS '11 Proceedings 24th International Symposium on Computer-Based
Medical Systems, 27-30 June, Washington, 1-6.
Kurtel, K., 2008. Web’ in Geleceği: Anlamsal Web. Ege Akademik Bakış, 8(1), 205-
213.
Larson, R.C., Murray, M.E., 2007. Distance Learning as a Tool for Poverty
Reduction and Economic Development: A Focus on China and Mexico.
Journal of Science Education and Technology, 17(2), 175-196.
M. Marko, M., Porter, M. A., Probst, A., Gershenson, C., Das, A., 2002.
Transforming the World Wide Web into a Complexity-Based Semantic
Network. Erişim Tarihi: 14.02.2013. http://arxiv.org/abs/cs/0205080v1.
Nagarajan, M., Verma, k., Sheth, A.P., Miller, J., Lathem, J., 2006. Semantic
Interoperability of Web Services - Challenges and Experiences. Proceedings
of the Fourth IEEE International Conference on Web Services (ICWS 2006),
18-22 September, Chicago, 373-382.
NetBeans, 2013. Erişim Tarihi: 04.04.2013. https://netbeans.org/about/index.html.
OntoGraf, 2013. Erişim Tarihi: 04.04.2013.
http://protegewiki.stanford.edu/wiki/OntoGraf.
Özay, A., 2007. Web Servisleri ve Uzak Nesne Tabanlı Ontoloji Arayüzü
Geliştirilmesi. Ege Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi,
113s, İzmir.
Özdemir, E., 2010. Web Servisi ile Ontoloji Yönetimi. Beykent Üniversitesi Fen
Bilimleri Enstitüsü, Yüksek Lisans Tezi, 110s, İstanbul.
Özdil, B., Çelik, A., 1999. İnternete Dayalı Uzaktan Eğitim. Türkiye’ de İnternet
Konferansı, 19-21 Kasım, Ankara, 1-15.
Özpala, A., 2008. Ontoloji Tabanlı Personel Alım Sisteminde Ağ Servislerinin
Tasarlanması ve Uygulanması. Sakarya Üniversitesi Fen Bilimleri Enstitüsü,
Yüksek Lisans Tezi, 61s, Sakarya.
Protégé, 2013. Erişim Tarihi: 04.04.2013.
http://protegewiki.stanford.edu/wiki/Protege4Views.
Rajapaksha, S.K. ,Kodagoda, N., 2008. Internal Structureand Semantic Web Link
Structure Based Ontology Ranking, Information and Automationfor
Sustainability. 4th International Conference, 12-14 December, Colombo, 86-
90.
Sebetci, Ö., 2008. Birden Fazla Kazaya Karışmış / Kural İhlali Yapmış Sürücülerin
Web Tabanlı Uzaktan Eğitim ile Yeniden Eğitilmesi. Gazi Üniversitesi Fen
Bilimleri Enstitüsü, Doktora Tezi, 188s, Ankara.
51
Segaran, T.,Evans, C., Taylor, F., 2009. Programming the Semantic Web.
O’REILLY, 300s, America.
Siemens, G., Tittenberger, P., 2009. Handbook of Emerging Technologies for
Learning. University of Manitoba, 811s, Kanada.
Soysal, E., Çiçekli, İ., Baykal, N., 2009. Radyoloji Raporları için Türkçe Bilgi
Çıkarım Sistemi. 2009 Ulusal Tıp Bilişim Kongresi, 12-15 Kasım, Antalya,
1-11.
Sparql, 2013. Erişim Tarihi:12.02.2013.
http://www.cambridgesemantics.com/semantic-university/sparql-101.
Staab, S.,Studer, R., (Ed.), 2009. Handbook on Ontologies. Springer, 832s, London.
Torkul, O., 2012. Uzaktan Eğitim ve Türkiye’de Yaygınlaşması Önündeki Engeller,
Eğitime Bakış, 23, 42-44.
Türksoy, H., 2007. Ontoloji Tabanlı Etkinlik ve Öğrenme Nesnesi Paylaşım Sistemi.
Hacettepe Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 66s,
Ankara.
Uğuz, S., 2008. İşlemciler Modülünün Web Tabanlı Uzaktan Eğitimle Kavram
Haritası Tekniği Desteğiyle Öğretilmesine Örnek Bir Uygulama. Süleyman
Demirel Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 96s,
Isparta.
Yaşar, C., 2007. Wordnet Üzerinde Türkçe Bilişim Ontolojisinin Oluşturulması.
Çanakkale Onsekiz Mart Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans
Tezi, 68s, Çanakkale.
Yenal, A. Ç., 2009. Uzaktan Eğitim. Yeditepe Üniversitesi Sosyal Bilimler Enstitüsü,
Yüksek Lisans Tezi, 220s, İstanbul.
Yücel, M., Alparslan, E., Taşkın, K., 2011. Bilgisayar Destekli Denetim Ontolojisi.
Akademik Bilişim Konferansı 2011, 2-4 Şubat, Malatya.
Wang, Z., 2011. Research on Remote Education System Using Semantic Web.
Computer Science and Network Technology (ICCSNT), 2011 International
Conference, 24-26 December, Harbin, 2815-2818.
w3.org, 2013. Erişim Tarihi: 22.05.2013. http://www.w3.org
ZhiHao, Z., Jiping, H., Ting, D., Yu, W., 2012. Semantic Web Service Similarity
Ranking Proposal Based on Semantic Space Vector Model. 2012 Second
International Conference on Intelligent System Design and Engineering
Application, 6-7 January, Sanya-Hainan, 917-920.
52
EKLER
EK A. ComputerNetworks Ontolojisinin OWL/XML Kodu
EK B. Uygulamanın Java Kodu
53
EK A. ComputerNetworks Ontolojisinin OWL/XML Kodu
<?xml version="1.0"?>
<!DOCTYPE Ontology [
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY xml "http://www.w3.org/XML/1998/namespace" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<Ontology xmlns="http://www.w3.org/2002/07/owl#"
xml:base="http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.owl
"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
ontologyIRI="http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.
owl">
<Prefix name="rdf" IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<Prefix name="" IRI="http://www.w3.org/2002/07/owl#"/>
<Prefix name="xsd" IRI="http://www.w3.org/2001/XMLSchema#"/>
<Prefix name="rdfs" IRI="http://www.w3.org/2000/01/rdf-schema#"/>
<Prefix name="ComputerNetworks2"
IRI="http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.owl#"/>
<Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
<Declaration>
<Class IRI="#AgCihazlari"/>
</Declaration>
<Declaration>
<Class IRI="#AgGuvenligi"/>
</Declaration>
<Declaration>
<Class IRI="#AgKurmaModelleri"/>
</Declaration>
<Declaration>
<Class IRI="#AgYapilari"/>
</Declaration>
<Declaration>
<Class IRI="#AglarinSiniflandirilmasi"/>
</Declaration>
<Declaration>
<Class IRI="#BandGenisligi"/>
</Declaration>
54
<Declaration>
<Class IRI="#BilgisayarAglari"/>
</Declaration>
<Declaration>
<Class IRI="#Broadcasting"/>
</Declaration>
<Declaration>
<Class IRI="#BukuluCiftKablo"/>
</Declaration>
<Declaration>
<Class IRI="#FiberOptikKablo"/>
</Declaration>
<Declaration>
<Class IRI="#FizikselTopoloji"/>
</Declaration>
<Declaration>
<Class IRI="#HaberlesmeYontemi"/>
</Declaration>
<Declaration>
<Class IRI="#Kablolar"/>
</Declaration>
<Declaration>
<Class IRI="#KablosuzIletisim"/>
</Declaration>
<Declaration>
<Class IRI="#KapsadiklariAlan"/>
</Declaration>
<Declaration>
<Class IRI="#KoaksiyelKablo"/>
</Declaration>
<Declaration>
<Class IRI="#MantiksalTopoloji"/>
</Declaration>
<Declaration>
<Class IRI="#OSIModeli"/>
</Declaration>
<Declaration>
<Class IRI="#Switching"/>
</Declaration>
<Declaration>
<Class IRI="#TCPIPModeli"/>
</Declaration>
<Declaration>
<Class IRI="#WANTeknolojileri"/>
</Declaration>
<Declaration>
<Class IRI="#YerelAlanAglari"/>
</Declaration>
<Declaration>
55
<ObjectProperty IRI="#AgCihaziKullanir"/>
</Declaration>
<Declaration>
<ObjectProperty IRI="#KablosunuKullanir"/>
</Declaration>
<Declaration>
<ObjectProperty IRI="#TopolojisiniKullanir"/>
</Declaration>
<Declaration>
<DataProperty IRI="#CalismaVoltaji"/>
</Declaration>
<Declaration>
<DataProperty IRI="#PortSayisi"/>
</Declaration>
<Declaration>
<DataProperty IRI="#Tanim"/>
</Declaration>
<Declaration>
<DataProperty IRI="#img"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Bradcasting"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Bridge"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Bus"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Hub"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#LAN"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#MAN"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Mesh"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#MultiMode"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Multicasting"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Repeater"/>
56
</Declaration>
<Declaration>
<NamedIndividual IRI="#Ring"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Router"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#STPKablo"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#SingleMode"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Star"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Switch"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#ThicknetKablo"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#ThinnetKablo"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Tree"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#UTPKablo"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Unicasting"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#WAN"/>
</Declaration>
<SubClassOf>
<Class IRI="#AgCihazlari"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#AgGuvenligi"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#AgKurmaModelleri"/>
<Class IRI="#AglarinSiniflandirilmasi"/>
</SubClassOf>
57
<SubClassOf>
<Class IRI="#AgYapilari"/>
<Class IRI="#AglarinSiniflandirilmasi"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#AglarinSiniflandirilmasi"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#BandGenisligi"/>
<Class IRI="#AglarinSiniflandirilmasi"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#Broadcasting"/>
<Class IRI="#HaberlesmeYontemi"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#BukuluCiftKablo"/>
<Class IRI="#Kablolar"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#FiberOptikKablo"/>
<Class IRI="#Kablolar"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#FizikselTopoloji"/>
<Class IRI="#AgYapilari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#HaberlesmeYontemi"/>
<Class IRI="#AglarinSiniflandirilmasi"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#Kablolar"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#KablosuzIletisim"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#KapsadiklariAlan"/>
<Class IRI="#AglarinSiniflandirilmasi"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#KoaksiyelKablo"/>
<Class IRI="#Kablolar"/>
</SubClassOf>
<SubClassOf>
58
<Class IRI="#MantiksalTopoloji"/>
<Class IRI="#AgYapilari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#OSIModeli"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#Switching"/>
<Class IRI="#HaberlesmeYontemi"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#TCPIPModeli"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#WANTeknolojileri"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<SubClassOf>
<Class IRI="#YerelAlanAglari"/>
<Class IRI="#BilgisayarAglari"/>
</SubClassOf>
<ClassAssertion>
<Class IRI="#Broadcasting"/>
<NamedIndividual IRI="#Bradcasting"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#AgCihazlari"/>
<NamedIndividual IRI="#Bridge"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#FizikselTopoloji"/>
<NamedIndividual IRI="#Bus"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#AgCihazlari"/>
<NamedIndividual IRI="#Hub"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#KapsadiklariAlan"/>
<NamedIndividual IRI="#LAN"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#KapsadiklariAlan"/>
<NamedIndividual IRI="#MAN"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#FizikselTopoloji"/>
59
<NamedIndividual IRI="#Mesh"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#FiberOptikKablo"/>
<NamedIndividual IRI="#MultiMode"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#Broadcasting"/>
<NamedIndividual IRI="#Multicasting"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#AgCihazlari"/>
<NamedIndividual IRI="#Repeater"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#FizikselTopoloji"/>
<NamedIndividual IRI="#Ring"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#AgCihazlari"/>
<NamedIndividual IRI="#Router"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#BukuluCiftKablo"/>
<NamedIndividual IRI="#STPKablo"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#FiberOptikKablo"/>
<NamedIndividual IRI="#SingleMode"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#FizikselTopoloji"/>
<NamedIndividual IRI="#Star"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#AgCihazlari"/>
<NamedIndividual IRI="#Switch"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#KoaksiyelKablo"/>
<NamedIndividual IRI="#ThicknetKablo"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#KoaksiyelKablo"/>
<NamedIndividual IRI="#ThinnetKablo"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#FizikselTopoloji"/>
<NamedIndividual IRI="#Tree"/>
60
</ClassAssertion>
<ClassAssertion>
<Class IRI="#BukuluCiftKablo"/>
<NamedIndividual IRI="#UTPKablo"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#Broadcasting"/>
<NamedIndividual IRI="#Unicasting"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#KapsadiklariAlan"/>
<NamedIndividual IRI="#WAN"/>
</ClassAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Bus"/>
<NamedIndividual IRI="#ThinnetKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Bus"/>
<NamedIndividual IRI="#ThicknetKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Hub"/>
<NamedIndividual IRI="#STPKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Hub"/>
<NamedIndividual IRI="#UTPKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#TopolojisiniKullanir"/>
<NamedIndividual IRI="#Hub"/>
<NamedIndividual IRI="#Ring"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#AgCihaziKullanir"/>
<NamedIndividual IRI="#LAN"/>
<NamedIndividual IRI="#Switch"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#AgCihaziKullanir"/>
<NamedIndividual IRI="#LAN"/>
<NamedIndividual IRI="#Hub"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
61
<ObjectProperty IRI="#AgCihaziKullanir"/>
<NamedIndividual IRI="#Star"/>
<NamedIndividual IRI="#Hub"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Star"/>
<NamedIndividual IRI="#STPKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Star"/>
<NamedIndividual IRI="#UTPKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Switch"/>
<NamedIndividual IRI="#UTPKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Switch"/>
<NamedIndividual IRI="#STPKablo"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Switch"/>
<NamedIndividual IRI="#MultiMode"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#KablosunuKullanir"/>
<NamedIndividual IRI="#Switch"/>
<NamedIndividual IRI="#SingleMode"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#TopolojisiniKullanir"/>
<NamedIndividual IRI="#Switch"/>
<NamedIndividual IRI="#Star"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#AgCihaziKullanir"/>
<NamedIndividual IRI="#Tree"/>
<NamedIndividual IRI="#Switch"/>
</ObjectPropertyAssertion>
<DataPropertyAssertion>
<DataProperty IRI="#Tanim"/>
<NamedIndividual IRI="#Bus"/>
<Literal datatypeIRI="&xsd;string">Bus Topoloji</Literal>
</DataPropertyAssertion>
62
<DataPropertyAssertion>
<DataProperty IRI="#CalismaVoltaji"/>
<NamedIndividual IRI="#Hub"/>
<Literal datatypeIRI="&xsd;string">12V</Literal>
</DataPropertyAssertion>
<DataPropertyAssertion>
<DataProperty IRI="#PortSayisi"/>
<NamedIndividual IRI="#Hub"/>
<Literal datatypeIRI="&xsd;string">4-8-16 port</Literal>
</DataPropertyAssertion>
<DataPropertyAssertion>
<DataProperty IRI="#img"/>
<NamedIndividual IRI="#Hub"/>
<Literal datatypeIRI="&xsd;string">img/hub.gif</Literal>
</DataPropertyAssertion>
<ObjectPropertyDomain>
<ObjectProperty IRI="#KablosunuKullanir"/>
<Class IRI="#Kablolar"/>
</ObjectPropertyDomain>
<ObjectPropertyDomain>
<ObjectProperty IRI="#TopolojisiniKullanir"/>
<Class IRI="#AgYapilari"/>
</ObjectPropertyDomain>
<ObjectPropertyRange>
<ObjectProperty IRI="#KablosunuKullanir"/>
<Class IRI="#AgCihazlari"/>
</ObjectPropertyRange>
<ObjectPropertyRange>
<ObjectProperty IRI="#TopolojisiniKullanir"/>
<Class IRI="#AgCihazlari"/>
</ObjectPropertyRange>
<DataPropertyDomain>
<DataProperty IRI="#CalismaVoltaji"/>
<DataSomeValuesFrom>
<DataProperty IRI="#CalismaVoltaji"/>
<Datatype abbreviatedIRI="xsd:string"/>
</DataSomeValuesFrom>
</DataPropertyDomain>
<DataPropertyDomain>
<DataProperty IRI="#PortSayisi"/>
<DataSomeValuesFrom>
<DataProperty IRI="#PortSayisi"/>
<Datatype abbreviatedIRI="xsd:string"/>
</DataSomeValuesFrom>
</DataPropertyDomain>
<DataPropertyDomain>
<DataProperty IRI="#Tanim"/>
<DataSomeValuesFrom>
<DataProperty IRI="#Tanim"/>
63
<Datatype abbreviatedIRI="xsd:anyURI"/>
</DataSomeValuesFrom>
</DataPropertyDomain>
<DataPropertyRange>
<DataProperty IRI="#img"/>
<Datatype abbreviatedIRI="xsd:string"/>
</DataPropertyRange>
<AnnotationAssertion>
<AnnotationProperty abbreviatedIRI="rdfs:comment"/>
<IRI>#Bus</IRI>
<Literal datatypeIRI="&xsd;string">gereksiz</Literal>
</AnnotationAssertion>
</Ontology>
<!-- Generated by the OWL API (version 3.2.3.1824) http://owlapi.sourceforge.net --
>
64
EK B. Uygulamanın Java Kodu
/*
* ComputerNetworksView.java
*/
package CN;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import java.awt.Image;
import com.hp.hpl.jena.query.Query;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.rdf.*;
import com.sun.istack.internal.logging.Logger;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
//import java.awt.List;
/**
* The application's main frame.
*/
public class ComputerNetworksView extends FrameView {
public ComputerNetworksView(SingleFrameApplication app) {
super(app);
initComponents();
// status bar initialization - message timeout, idle icon and busy animation, etc
65
ResourceMap resourceMap = getResourceMap();
int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
messageTimer = new Timer(messageTimeout, new ActionListener() {
public void actionPerformed(ActionEvent e) {
statusMessageLabel.setText("");
}
});
messageTimer.setRepeats(false);
int busyAnimationRate =
resourceMap.getInteger("StatusBar.busyAnimationRate");
for (int i = 0; i < busyIcons.length; i++) {
busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
}
busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
public void actionPerformed(ActionEvent e) {
busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
}
});
idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
// connecting action tasks to status bar via TaskMonitor
TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
taskMonitor.addPropertyChangeListener(new
java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
String propertyName = evt.getPropertyName();
if ("started".equals(propertyName)) {
if (!busyIconTimer.isRunning()) {
statusAnimationLabel.setIcon(busyIcons[0]);
busyIconIndex = 0;
busyIconTimer.start();
}
progressBar.setVisible(true);
progressBar.setIndeterminate(true);
} else if ("done".equals(propertyName)) {
busyIconTimer.stop();
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
progressBar.setValue(0);
} else if ("message".equals(propertyName)) {
String text = (String)(evt.getNewValue());
statusMessageLabel.setText((text == null) ? "" : text);
messageTimer.restart();
} else if ("progress".equals(propertyName)) {
int value = (Integer)(evt.getNewValue());
progressBar.setVisible(true);
66
progressBar.setIndeterminate(false);
progressBar.setValue(value);
}
}
});
}
@Action
public void showAboutBox() {
if (aboutBox == null) {
JFrame mainFrame =
ComputerNetworksApp.getApplication().getMainFrame();
aboutBox = new ComputerNetworksAboutBox(mainFrame);
aboutBox.setLocationRelativeTo(mainFrame);
}
ComputerNetworksApp.getApplication().show(aboutBox);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
mainPanel = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jComboBox1 = new javax.swing.JComboBox();
jButton2 = new javax.swing.JButton();
jComboBox2 = new javax.swing.JComboBox();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
lblImage = new javax.swing.JLabel();
jComboBox3 = new javax.swing.JComboBox();
menuBar = new javax.swing.JMenuBar();
javax.swing.JMenu fileMenu = new javax.swing.JMenu();
javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
javax.swing.JMenu helpMenu = new javax.swing.JMenu();
javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
statusPanel = new javax.swing.JPanel();
javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
statusMessageLabel = new javax.swing.JLabel();
statusAnimationLabel = new javax.swing.JLabel();
progressBar = new javax.swing.JProgressBar();
mainPanel.setName("mainPanel"); // NOI18N
67
org.jdesktop.application.ResourceMap resourceMap =
org.jdesktop.application.Application.getInstance(CN.ComputerNetworksApp.class).
getContext().getResourceMap(ComputerNetworksView.class);
jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
jButton1.setName("jButton1"); // NOI18N
jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
yukleliste(evt);
yukle2(evt);
}
});
jComboBox1.setName("cbliste"); // NOI18N
jComboBox1.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cbsec(evt);
}
});
jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N
jButton2.setName("jButton2"); // NOI18N
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jButton2yukleliste(evt);
}
});
jComboBox2.setName("jComboBox2"); // NOI18N
jComboBox2.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
cbsec2(evt);
}
});
jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
jLabel1.setName("jLabel1"); // NOI18N
jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
jLabel2.setName("jLabel2"); // NOI18N
lblImage.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblImage.setBorder(javax.swing.BorderFactory.createEtchedBorder());
lblImage.setMaximumSize(new java.awt.Dimension(100, 160));
lblImage.setMinimumSize(new java.awt.Dimension(100, 160));
lblImage.setName("lblImage"); // NOI18N
lblImage.setPreferredSize(new java.awt.Dimension(100, 160));
68
jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[]
{ "Kullandığı Kablo", "Kullandığı Topoloji", "Port Sayıları", "Görünümü", "Çalışma
Voltajı", "Tanımı" }));
jComboBox3.setName("jComboBox3"); // NOI18N
javax.swing.GroupLayout mainPanelLayout = new
javax.swing.GroupLayout(mainPanel);
mainPanel.setLayout(mainPanelLayout);
mainPanelLayout.setHorizontalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(30, 30, 30)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 105,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(33, 33, 33)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addComponent(jLabel2)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.TRAILING)
.addComponent(jButton1)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jComboBox1,
javax.swing.GroupLayout.PREFERRED_SIZE, 116,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(36, 36, 36)
.addComponent(jComboBox3,
javax.swing.GroupLayout.PREFERRED_SIZE, 120,
javax.swing.GroupLayout.PREFERRED_SIZE))))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 38,
Short.MAX_VALUE)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.TRAILING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addComponent(jComboBox2,
javax.swing.GroupLayout.PREFERRED_SIZE, 116,
javax.swing.GroupLayout.PREFERRED_SIZE)
69
.addGap(18, 18, 18)
.addComponent(jButton2))
.addComponent(lblImage,
javax.swing.GroupLayout.PREFERRED_SIZE, 159,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(24, 24, 24))
);
mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(mainPanelLayout.createSequentialGroup()
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.BASELINE)
.addComponent(jComboBox1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(43, 43, 43)
.addComponent(jButton1)
.addGap(54, 54, 54)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(lblImage,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 151,
Short.MAX_VALUE)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.BASELINE)
.addComponent(jButton2)
70
.addComponent(jComboBox2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel2))
.addGap(13, 13, 13))
);
menuBar.setName("menuBar"); // NOI18N
fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
fileMenu.setName("fileMenu"); // NOI18N
javax.swing.ActionMap actionMap =
org.jdesktop.application.Application.getInstance(CN.ComputerNetworksApp.class).
getContext().getActionMap(ComputerNetworksView.class, this);
exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
exitMenuItem.setName("exitMenuItem"); // NOI18N
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
helpMenu.setName("helpMenu"); // NOI18N
aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
aboutMenuItem.setName("aboutMenuItem"); // NOI18N
helpMenu.add(aboutMenuItem);
menuBar.add(helpMenu);
statusPanel.setName("statusPanel"); // NOI18N
statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
statusMessageLabel.setName("statusMessageLabel"); // NOI18N
statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
progressBar.setName("progressBar"); // NOI18N
javax.swing.GroupLayout statusPanelLayout = new
javax.swing.GroupLayout(statusPanel);
statusPanel.setLayout(statusPanelLayout);
statusPanelLayout.setHorizontalGroup(
71
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addComponent(statusPanelSeparator,
javax.swing.GroupLayout.DEFAULT_SIZE, 558, Short.MAX_VALUE)
.addGroup(statusPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(statusMessageLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 388,
Short.MAX_VALUE)
.addComponent(progressBar,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(statusAnimationLabel)
.addContainerGap())
);
statusPanelLayout.setVerticalGroup(
statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(statusPanelLayout.createSequentialGroup()
.addComponent(statusPanelSeparator,
javax.swing.GroupLayout.PREFERRED_SIZE, 2,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.BASELINE)
.addComponent(statusMessageLabel)
.addComponent(statusAnimationLabel)
.addComponent(progressBar,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(3, 3, 3))
);
setComponent(mainPanel);
setMenuBar(menuBar);
setStatusBar(statusPanel);
}// </editor-fold>
private void yukleliste(java.awt.event.MouseEvent evt) {
72
jComboBox1.removeAllItems();
jComboBox2.removeAllItems();
InputStream in=null;
try {
in = new FileInputStream(new File("C:/ComputerNetworks2.owl"));
} catch (FileNotFoundException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create an empty in-memory model and populate it from the graph
Model model =
ModelFactory.createMemModelMaker().createModel("");
model.read(in,null); // null base URI, since model URIs are absolute
try {
in.close();
} catch (IOException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create a new query
String queryString =
//"PREFIX foaf:<http://xmlns.com/foaf/0.1/> " +
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-
ns#>"+
"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>"+
"PREFIX
ben:<http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.owl#>"+
"SELECT ?x " +
"WHERE {" +
"?x rdf:type ben:AgCihazlari ."+
//"?x rdfs:subClassOf :AgCihazlari "+
//"e:AgCihazlari ?x e:AgYapilari ."+ //ilişki getir
" }";
Query query = QueryFactory.create(queryString);
// Execute the query and obtain results
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
// Output query results
while(results.hasNext())
{
QuerySolution rb = results.nextSolution() ;
RDFNode x = rb.get("x") ;
if (x!=null) {
73
String item=x.toString();
jComboBox1.addItem(item.substring(item.indexOf("#")+1)); //uri
fazlasını siler
}
}
// Create a new query
String queryString1 =
//"PREFIX foaf:<http://xmlns.com/foaf/0.1/> " +
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-
ns#>"+
"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>"+
"PREFIX
ben:<http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.owl#>"+
"SELECT ?x " +
"WHERE {" +
//"?x rdf:type ben:AgCihazlari ."+
"ben:Bus ?x ?y"+ //ilişki getir
" }";
Query query1= QueryFactory.create(queryString1);
// Execute the query and obtain results
QueryExecution qe1 = QueryExecutionFactory.create(query1, model);
ResultSet results1 = qe1.execSelect();
// Output query results
while(results1.hasNext())
{
QuerySolution rb = results1.nextSolution() ;
RDFNode x = rb.get("?x") ;
if (x!=null) {
String item=x.toString();
jComboBox2.addItem(item.substring(item.indexOf("#")+1)); //uri
fazlasını siler
}
}
//ResultSetFormatter.out(results, query);
//List<String> vars= results.getResultVars();
// for (int i = 0; i < vars.size(); i++) {
//SwebView.cmbKisi.addItem(i);
// }
// Important - free up resources used running the query
qe.close();
74
}
private void jButton2yukleliste(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
InputStream in=null;
try {
in = new FileInputStream(new File("C:/ComputerNetworks2.owl"));
} catch (FileNotFoundException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create an empty in-memory model and populate it from the graph
Model model =
ModelFactory.createMemModelMaker().createModel("");
model.read(in,null); // null base URI, since model URIs are absolute
try {
in.close();
} catch (IOException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create a new query
String queryString =
//"PREFIX foaf:<http://xmlns.com/foaf/0.1/> " +
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-
ns#>"+
"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>"+
"PREFIX
ben:<http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.owl#>"+
"SELECT ?x " +
"WHERE {" +
"ben:"+jComboBox1.getSelectedItem()+" ?x
ben:"+jComboBox2.getSelectedItem()+" ."+
" }";
Query query = QueryFactory.create(queryString);
// Execute the query and obtain results
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
// Output query results
while(results.hasNext())
{
QuerySolution rb = results.nextSolution() ;
RDFNode x = rb.get("x") ;
75
if (x!=null) {
String item=x.toString();
jLabel1.setText(item.substring(item.indexOf("#")+1)); //uri fazlasını
siler
}
}
qe.close();
}
private void yukle2(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
private void cbsec(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
jComboBox2.removeAllItems();
InputStream in=null;
try {
in = new FileInputStream(new File("C:/ComputerNetworks2.owl"));
} catch (FileNotFoundException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create an empty in-memory model and populate it from the graph
Model model =
ModelFactory.createMemModelMaker().createModel("");
model.read(in,null); // null base URI, since model URIs are absolute
try {
in.close();
} catch (IOException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create a new query
String queryString =
//"PREFIX foaf:<http://xmlns.com/foaf/0.1/> " +
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-
ns#>"+
"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>"+
"PREFIX
ben:<http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.owl#>"+
76
"SELECT ?x " +
"WHERE {" +
//"?x rdf:type ben:AgCihazlari ."+
"ben:"+jComboBox1.getSelectedItem()+" ?x ?y"+ //ilişki getir
" }";
Query query = QueryFactory.create(queryString);
// Execute the query and obtain results
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
// Output query results
while(results.hasNext())
{
QuerySolution rb = results.nextSolution() ;
RDFNode x = rb.get("x") ;
if (x!=null) {
String item=x.toString();
if (!"type".equals(item.substring(item.indexOf("#")+1))) {
jComboBox2.addItem(item.substring(item.indexOf("#")+1)); //uri
fazlasını siler
}
}
}
qe.close();
}
private void cbsec2(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
InputStream in=null;
try {
in = new FileInputStream(new File("C:/ComputerNetworks2.owl"));
} catch (FileNotFoundException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create an empty in-memory model and populate it from the graph
Model model =
ModelFactory.createMemModelMaker().createModel("");
model.read(in,null); // null base URI, since model URIs are absolute
try {
77
in.close();
} catch (IOException ex) {
//Logger.getLogger(SwebView.class.getName()).log(Level.SEVERE, null,
ex);
}
// Create a new query
String queryString =
//"PREFIX foaf:<http://xmlns.com/foaf/0.1/> " +
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-
ns#>"+
"PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>"+
"PREFIX
ben:<http://www.semanticweb.org/ontologies/2013/0/ComputerNetworks2.owl#>"+
"SELECT ?x " +
"WHERE {" +
"ben:"+jComboBox1.getSelectedItem()+"
ben:"+jComboBox2.getSelectedItem()+" ?x ."+
" }";
Query query = QueryFactory.create(queryString);
// Execute the query and obtain results
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
// Output query results
while(results.hasNext())
{
QuerySolution rb = results.nextSolution() ;
RDFNode x = rb.get("x") ;
if (x!=null) {
String item=x.toString();
jLabel1.setText(item.substring(item.indexOf("#")+1)); //uri fazlasını
siler
}
}
qe.close();
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JComboBox jComboBox2;
private javax.swing.JComboBox jComboBox3;
78
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel lblImage;
private javax.swing.JPanel mainPanel;
private javax.swing.JMenuBar menuBar;
private javax.swing.JProgressBar progressBar;
private javax.swing.JLabel statusAnimationLabel;
private javax.swing.JLabel statusMessageLabel;
private javax.swing.JPanel statusPanel;
// End of variables declaration
private final Timer messageTimer;
private final Timer busyIconTimer;
private final Icon idleIcon;
private final Icon[] busyIcons = new Icon[15];
private int busyIconIndex = 0;
private JDialog aboutBox;
}
79
ÖZGEÇMİŞ
Adı Soyadı : Harun ÇAKIR
Doğum Yeri ve Yılı : Adıyaman, 1981
Medeni Hali : Evli
Yabancı Dili : İngilizce
E-posta : [email protected]
Eğitim Durumu
Lise : Mersin Atatürk EML, 2000
Lisans : SDÜ, Teknik Eğitim Fakültesi, Bilgisayar Sistemleri
Öğretmenliği
Yüksek Lisans : SDÜ, Fen Bilimleri Enstitüsü, Elektronik-Bilgisayar Eğitimi
Mesleki Deneyim
SDÜ Gönen MYO 2010-…….. (halen)