semantİk web (web 3.0) teknolojİsİ kullanilarak e-

90
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

Upload: others

Post on 27-Nov-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 2: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

©2013 [Harun ÇAKIR]

Page 3: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 4: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 5: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 6: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 7: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 8: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 9: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 10: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 11: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 12: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 13: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 14: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 15: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 16: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 17: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 18: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 19: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 20: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 21: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 22: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 23: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 24: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 25: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 26: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 27: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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));

Page 28: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 29: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 30: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 31: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 32: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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,

Page 33: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 34: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 35: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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)

Page 36: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 37: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 38: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 39: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 40: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 41: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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,

Page 42: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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)

Page 43: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 44: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 45: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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ü

Page 46: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 47: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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;

Page 48: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 49: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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ı

Page 50: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 51: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 52: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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,

Page 53: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 54: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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ı

Page 55: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 56: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 57: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 58: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 59: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 60: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 61: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 62: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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.

Page 63: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

52

EKLER

EK A. ComputerNetworks Ontolojisinin OWL/XML Kodu

EK B. Uygulamanın Java Kodu

Page 64: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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>

Page 65: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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>

Page 66: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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"/>

Page 67: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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>

Page 68: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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>

Page 69: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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"/>

Page 70: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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"/>

Page 71: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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>

Page 72: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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>

Page 73: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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"/>

Page 74: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

>

Page 75: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 76: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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);

Page 77: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 78: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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));

Page 79: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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)

Page 80: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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)

Page 81: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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(

Page 82: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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) {

Page 83: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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) {

Page 84: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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();

Page 85: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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

Page 86: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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#>"+

Page 87: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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 {

Page 88: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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;

Page 89: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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;

}

Page 90: SEMANTİK WEB (WEB 3.0) TEKNOLOJİSİ KULLANILARAK e-

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)