Günümüz İnternet ortamındaki birçok web sitesi, daha fazla kişiselleştirme ve işlevsellik sağlayabilmek amacıyla kullanıcılar kabul eder, kullanıcıları birbirleri ile etkileştiren ve kullanıcıların paylaşım yapabilmelerini sağlayan bir ortam oluşturur. Anlamsal Web, günümüzde kullanılan İnternet ortamının, yeniden düzenlenerek, makinelerin (bilgisayarlar, cep telefonları, televizyonlar, vb.) kullandıkları bilgiyi anlayabilmesi ve daha etkin yönetebilmesini amaçlayan bir teknolojidir. Bu çalışmada anlamsal web teknolojilerinin, web portallar içerisinde nasıl kullanıldığı, web portalların alt yapısının ve gösteriminin anlamsal web teknolojileri ile nasıl yapılandırıldığı, bilginin gösteriminin ontolojiler kullanılarak nasıl temsil edildiği anlatılmaktadır. Çalışma kapsamında açıklanan Anlamsal Web Portal mimarisi içerisinde, gelişmiş iletişim imkanları ile kullanıcıların istedikleri bilgiye en kısa sürede ulaşmalarını sağlayan, ortak bir zeminde diğer anlamsal web ortamları ile anlamsal seviyede iletişim kurabilen bir anlamsal web portal yapısının nasıl gerçeklendiği anlatılmaktadır. Anlamsal Web Portal yapısı içerisinde bilginin temsili için OWL DL dili tercih edilmiş, karmaşık Anlamsal Web Portal mimarisi içerisinde 3-katmanlı yapı ile Model-View-Controller mimarisinin iç içe kullanılması sağlanmıştır.
1.Giriş
Anlamsal Web, günümüzde kullanılan web teknolojilerinin ve uygulamalarının geliştirilerek gelecek nesil web uygulamaları olarak ortaya konmasıdır. Bu gelişim içerisinde günümüzde kullanılan web sayfalarının içeriğinin terk edilmesi yerine 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ğlamaktadır [1]. Böylece, günümüzde arama yapılabilen web siteleri ve web portallar için yeni geliştirme yöntemleri göstermekte, etkin iletişim ve arama yöntemleri sunabilmektedir [2]. Bu yöntemler anlamsal web teknolojileriyle, günümüzde kullanılan web portallarında da gerçekleştirilebilir.
“Portal” kelimesinin sözlük anlamı “giriş”tir.1 “Web Portal”, kelime anlamına uygun olarak, kişilerin internete ilk bağlantı noktaları veya giriş yeri olarak tanımlanır. Web Portallar, kullanıcıların aradıklarını bulabildikleri, içeriği kişiselleştirebildikleri ve diğer ortamlar ile ortak çalışabilen web uygulamalarıdır. Bu özellikleri ile web sitelerinden ayrılan web portallar, internet üzerinde şirketlerin ve kurumların müşterilerine hizmetler sunabildiği web uygulamaları olarak tasarlanırlar. Günümüzde, gerek büyük yazılım firmalarının sunduğu hazır olarak satılan web portallar (IBM-WebSphere, Microsoft-SharePoint, vb.), gerekse özel olarak geliştirilen web portallar, şirketlerin sunduğu hizmetleri internet ortamında müşterinin kendisinin gerçekleştirmesini sağlamaktadır. Ancak günümüz web portalları, bu faydalarının aksine, kişiselleştirmede, portal içeriğinin değiştirilebilirliğinde, bilginin saklanması ve gösteriminde esnek değildir [12]. Bugün Web Portallar, anlamsallığı ve esnekliği özellikle Web 2.0 ile ortaya çıkan ve sonradan eklenen özellikler ile sağlanmaya çalışmaktadırlar. W3C (World Wide Web Consortium) tarafından tanımlanan web servisler2, birçok web portalın birbirleri arasında haberleşmenin arttırılması amacıyla tanımlanmış ve kullanıma sunulmuştur. Haber alma servisi olarak düşünülmüş, ancak daha sonradan web siteleri içerisinde güncellemelerin duyurulabilmesi için de kullanılan RSS (Rich Site Summary) desteği, günümüzde birçok web portal içerisinde verilmektedir. Yaygın olarak kullanılmayan ve bildiride daha sonra değinilecek olan FOAF (Friend-of-a-Friend)[14], web portal içerisinde ve web portalların kendi aralarında Sosyal Ağ kurabilmesine imkan sağlar. Sonuç olarak tüm bu teknolojiler, anlamsal web teknolojilerinin kısmen de olsa günümüz web portalları içerisine girdiğini göstermektedir. Ancak, bu anlamsal web teknolojilere rağmen, günümüzde geliştirilen web portallar yazılım mimarileri açısından daha ileri seviyedeki anlamsal web teknolojileri için uygun değildir.
Bu uyumsuzluğun ortadan kaldırılması ve anlamsal web ile portal mimarilerinin birleştirilmesi için anlamsal web portallar oluşturulmuştur. Anlamsal web portallar, günümüz portallarındaki kısıtlı anlamsallığı gidermek ve yapay zekâ, anlamsal arama gibi teknolojilerin günümüz web dünyasında kullanılması için geliştirilmiş web portallarıdır [5].
Bu çalışma içerisinde bu anlayışla tasarlanan Anlamsal Web Portal mimarisi, anlamsal web teknolojilerinin uygulanması ile genişletilebilen, esnek, kişiselleştirilebilen ve anlamsallığını sağlamış bir anlamsal portal gerçeklemeyi hedeflemektedir. Bu hedefle gerçekleştirilen anlamsal web portal yapısı içerisinde bilginin temsilinde ontolojiler kullanılmaktadır. Ontoloji, “varlık bilimi” demektir. Bilgisayar bilimleri içerisinde ontoloji, varlıkları açıklamak, varlıklar arasındaki ilişkileri tanımlamak ve varlıkları içeren tasarımların nasıl oluşturulacağını açıklamak amacıyla kullanılan tanımlamalardır [9]. Bu tanımlamalar yapılırken, günümüzde kullanılan bilgi gösterim yöntemlerinden yararlanılarak, etiket içeren gösterimler tercih edilir. Bu gösterimler HTML gösteriminin bir ileri sürümü olan eXtensible Markup Language (XML) ve üçlülerden (özne-yüklem-nesne) oluşan RDF (Resource Description Framework) dilleridir. XML dili sayesinde kullanıcılar ve uygulamalar kendi etiketlerini oluşturabilme yeteneğini kazanırlar. Ontolojilerin içeriğini oluşturan RDF dili sayesinde, uygulamalar ve nesneler arası ilişkiler sadece özne ve nesnelerden oluşmakla kalmaz, ek olarak ilişkilerin anlamlarını da içeren yüklemler ile temsil edilebilirler [1]. Bu üçlü yapı sayesinde ontolojiler, anlamsal sorgulama ve devingen üstmetin gösterimi destekleri verebilirler. Esnek yapıları sayesinde kolayca işlenebilen ontolojiler tüm bu açıklanan nedenlerden dolayı anlamsal web teknolojilerinde bilginin gösteriminde tercih edilirler [8]. Ontolojiler sayesinde, Anlamsal Web Portal içerisinde çıkarsamalar yapılabilmesi ve sunulan arayüzlerin daha verimli çalışması sağlanır.
Bildirinin ikinci bölümünde örnek bir senaryo ortaya konmuş ve bu senaryo sayesinde yaptığımız çalışmanın uygulanabilirliği ve gerçeklenmesinin anlaşılması kolaylaştırılmıştır. Üçüncü bölümde Anlamsal Web Portal mimarisi anlatılmakta ve mimari içerisinde gerçeklenmiş üç temel yapı detaylandırılmaktadır. Sırasıyla, ontolojilerin saklanması ve yönetilmesi için kullanılan bilgi katmanı, ikinci olarak bilgi katmanını arayüz katmanına taşıyan ve portal içerisinde gezinti mekanizmasını içeren çekirdek katman anlatılmakta, ardından çekirdek katman içerisinde kullanılan sorgu ve çıkarsama işlemleri için gerçeklenen yapılar açıklanmaktadır. Bu bölümün sonunda arayüz katmanı anlatılmış ve diğer katmanlar kullanılarak ontolojiler içerisinde saklanan bilginin arayüzler içerisinde kullanıcılara nasıl sunulduğu anlatılmaktadır. Dördüncü bölümde gerçeklenen kısımlar anlatılırken, benzer olarak geliştirilmiş projeler ile karşılaştırmalar yapılmaktadır. Bildirinin son kısımda projenin gerçeklenen kısımları anlatılmış ve gelecekte yapılacak olan çalışmalardan bahsedilmiştir.
2.Motivasyon Senaryosu
Ahmet, Linux işletim sistemine geçmeye çalışan bir bilgisayar mühendisliği öğrencisidir. Bu konuda internette araştırmalar yapmış fakat kendisine tam olarak yardımcı olacak bir web sitesi bulamamıştır. Bu amaçla, arka planda anlamsal web teknolojileri içeren anlamsal web portala bağlanır ve kaynak bulmak ister. Kendisinden aramalar yapabilmesi ve anlamsal web portalı kullanabilmesi için kullanıcı olması talep edilir. İstenen kullanıcı bilgileri, her web sitesinde istenen kişisel özellikleridir. Portala kayıt sırasında kendisine, başka bir portal içerisinde kullandığı bir FOAF ontoloji dokümanı girebilmesi olanağı da sunulur. Kayıt işlemi tamamlandıktan sonra Ahmet sisteme giriş yapar ve kendi kişisel özelliklerine göre portal görünümünün oluştuğunu ve bu görünüşü de değiştirebildiğini görür. Haber kısmına girdiğinde, haber konularının daha önce belirtmediği halde okuduğu gazetelerden seçilmiş, sevdiği konular olduğunu görür. Ahmet, portal içerisinde kullanabileceği aygıtları incelediğinde kullanımını kolaylaştırmak için arama, başka bir portal’a bağlanma gibi servislerden yararlanabileceğini görür. Ahmet, derslerine yardımcı olması için portal içerisinde kendi seviyesine uygun bir Linux eğitseli aramaktadır. İlk olarak kendi Linux bilgisi seviyesinde olan kişileri bulmaya çalışır. Arama modülünden kendisine benzer kişileri arar ve portal kullanıcılarına ait FOAF ontoloji dokümanları sayesinde aranan kişiler listelenir. Ahmet, listelenen kişiler arasında seçim yapmadan önce bu kişilerin ne kadar güvenilir olduklarını görmek ister. İlk olarak kendi okulundan tanıdığı kişileri listeler. Listelenen kişilerin güvendikleri kişilerin ya da arkadaşlarının, yükledikleri ya da kullandıkları Linux eğitseller içerisinden kendisine en uygun olanını seçer. İndirdiği eğitseli kullandıktan sonra Ahmet’ten, portala bir sonraki girişinde, önceden indirdiği Linux eğitseli ile ilgili beğeni derecesi bilgisi istenir. Ahmet beğeni derecesi bilgisini doldurduktan sonra, eğitseli aldığı kişinin, verdiği beğeni derecesine göre arkadaş listesine eklendiğini ya da engel listesine eklendiğini görür. Bu liste sayesinde Ahmet portal içerisinde daha sonraki aramalarında kolaylıkla istediği bilgiye erişebileceğini bilir.
3.Anlamsal Web Portal Mimarisi
Çalışmamız içerisinde tasarlanan mimari, ontolojilerin portal içerisinde kullanılmasıyla, senaryomuzun gerçeklenmesini sağlayacak bir portal yapısı oluşturacak niteliktedir. Şekil-1'de görülen genel mimari içerisinde 3-katmanlı mimariye benzer bir yapı tasarlanmıştır. Mimari içerisinde düşünülen temel yapılar, 3-katmanlı mimarilerde kullanılan sunum, işlem ve veri katmanlarının görevlerini içermektedir. Ancak 3-katmanlı mimarilerde her katman, ayrı işler için, ayrı yerlerde hatta ayrı platformlarda tutulur [19]. Anlamsal Web Portal Mimarisinde, arayüz ile bilgi katmanlarının 3-katmanlı mimariler içerisindeki gibi birbirlerinden soyutlanması ve bağımsız çalışmaları, arayüz içeriğinin ontolojiler tarafından temsil edilmesi ve oluşturulması sebebiyle mümkün değildir. Anlamsal Web Portal mimarisi, n-katmanlı mimariye benzer olarak çekirdek katmanda, performans, esneklik, yönetilebilirlik, yeniden kullanım ve ölçeklenebilirlik özelliklerini gerçekler [20]. Ancak en alt katmanda bulunan ontoloji veri deposu, daima arayüz modülü ile iletişimde bulunmaktadır. Bu sebepten Anlamsal Web Portal Mimarisi, 3-katmanlı mimari yapısına tam olarak uymamaktadır. Bu uyumsuzluk ve arayüz katmanının ontolojilere bağımlılığı nedeniyle, çekirdek katman içerisinde akışın ve arayüz gösteriminin sağlanması için Model-View-Controller (MVC) mimarisine benzer bir mimari yapı çekirdek katman içerisinde oluşturulmuştur.
Bu iki mimari, biri diğerini kapsayacak şekilde ek modüllerle birleşerek Anlamsal Web Portal mimarisini oluşturur.
Şekil 1:Anlamsal Web Portal genel mimarisi.
Şekil-1’deki mimari içerisinde, 3-katmanlı mimariye benzer olarak en alt katmanda, bilginin saklanması ve yönetimi işlenmektedir. Orta katman olan çekirdek katman içerisinde, MVC mimarisine benzer olarak gerçekleştirilen yapı sayesinde üst ve alt katmanların iletişimi ve verinin temsilinin gerçekleştirilmesi sağlanır. En üst katmanda kullanıcı ve etmenler ile etkileşim halinde bulunan arayüz katmanı bulunmaktadır.
3.1.Ontolojiler ve Bilgi Katmanı
Anlamsal Web Portal mimarisi incelendiğinde temelden en üst yapılara kadar ontolojilerin yer aldığı görülür. Ontolojiler, arayüzlerin gösteriminden, bilgilerin saklanmasına, web portal içerisinde kullanılan modüllerin yürütülmesine kadar tüm işlemlerin gerçeklenmesinde kullanılmaktadır.
Günümüz web portalları incelendiğinde, kişisel bilgilerin paylaşılabilir ve aynı zamanda yönetilebilir olmaması bir sorun olarak karşımıza çıkmaktadır [12]. Birçok farklı servis ve dağıtık olarak işlenen verilere erişim, yetkilendirme ve daha da önemlisi kişilerin arkadaşlarına yetki verebilme işlemleri, günümüz sistemlerinde olmayan özelliklerdir [21]. Kullanıcıların arkadaşlarını tanımlayabilmeleri, bu bilgileri paylaşabilmeleri, kişisel güvenilirlik, kişi profillerinin oluşturulması gibi kavramlar, günümüz web portalları için yabancı kavramlardır. Ancak, bu kavramlara yakın etiketleme yöntemi (tagging) [22] ile geliştirilen del.icio.us1 ve flickr2 gibi web portallar günümüzde yayındadır. Bu web portallarda, etiketleme yöntemi ile kullanıcılar arasında ilişkiler kurulabilmektedir. Ancak, etiketlenen nesneler arasındaki bağlantıların anlamsallığı, etiketleme yöntemi içerisinde tanımlanamaz. Bu sebepten etiketleme yöntemi ile oluşturulan sosyal ağ yapıları anlamsallıktan uzaktır.
Anlamsal Web Portal içerisinde, ilişkileri tanımlayabileceğimiz, derecelendirebileceğimiz ve kullanabileceğimiz ontolojiler geliştirilmiştir. Bu ontolojiler kişisel bilgilerin saklandığı ve paylaşıldığı FOAF (Friend-of-a-Friend) dokümanlarıdır. FOAF dokümanları kullanıcı ya da kişilerin, kişisel bilgilerinin saklandığı, RDF dilinde geliştirilmiş dokümanlardır. Şekil-2'de örnek bir FOAF dokümanı içerisinde kişisel bilgilerin nasıl tutulduğu gösterilmiştir.
Aşağıdaki örnek FOAF dokümanı incelendiğinde, kişisel birçok özelliğin FOAF dokümanları içerisinde tutulabildiği görülmektedir. Ancak FOAF ontoloji dokümanları gücünü sadece kişisel bilgileri saklayarak sağlayamaz. Asıl önemli işlevi, kişiler arası ilişkileri kurabilmesidir. Örnekteki rel:worksWith etiketi ile doküman sahibinin birlikte çalıştığı kişileri tanımlayabildiği, görülmektedir. Bu bilgi sayesinde kişiler arasında bir sosyal ağ oluşturulur. Oluşturulan sosyal ağ üzerinde insanların ortak kişisel özelliklerinin bulunduğu gruplar ve sınıflandırmalar yapılabileceği gibi, kişilerin yakınlık ve tanınırlık özelliklerinin de saklanması sağlanabilir [21].
Anlamsal Web Mimarisi içerisinde FOAF dokümanlarının kullanılmasının nedenlerini şu şekilde özetlenebilir:
Yeniden Kullanım: Bir Anlamsal Web Portal, kendi alanı içerisinde kişilerin, nesnelerin, organizasyonların, dokümanların ve olayların betimlemesini yapabilmeli ve ilişkileri tanımlayabilmelidir.
Birlikte Çalışabilme: Anlamsal Web Portal içerisinde saklanan kişisel verilerin dağıtımı ve diğer anlamsal web uygulamaları ile paylaşımının kolay yapılabilmesi sağlanmalıdır.
Gruplandırabilme: Kişisel veriler üzerinde ek bir işlem yapmadan gruplara ayrılabilmesi, ilişkilendirebilmesi gerekir.
FOAF dokümanlarının oluşturulduğu RDF dili, temsil edilen bilginin karmaşıklığı arttıkça, yetersiz kalmaya başlamaktadır. Bu nedenden dolayı W3.org1’un tanımladığı, RDF diline yeni özellikler ve yetenekler getiren Ontology Web Language (OWL)2 dili kullanılmıştır. OWL dilinin kullanımı sayesinde sosyal ağlar içerisindeki ilişkiler genişletilebilmekte, modüller içerisinde FOAF dokümanlarının işlenmesi hızlandırılabilmektedir. Bu nedenlerden, FOAF dokümanlarının saklandığı ve işlendiği veri deposunda kullanılacak olan dil OWL seçilmiştir. OWL dili açıklamalarına[11] baktığımızda işlenmesi zor bir dildir. Bu sebepten OWL Description Logic (DL-Betimleme Mantığı) dili tercih kullanılmıştır. OWL DL betimleme mantığına uygun olarak tanımlanan OWL cümlelerinden oluşan bir dil yapısı olarak tanımlanır. Ancak, FOAF dokümanları RDF dili ile tanımlanmıştır. RDF dili ve OWL DL dili arasındaki işlevsellik ve tanımlama farklarının kapatılması amacıyla FOAF dokümanlarının içerisinden referans verilerek kullanılan ek ontolojiler3 kullanılmıştır. Bu ontolojiler, temel olarak FOAF dokümanı yapısını ihtiyacımız içeriğinde genişletmektedir. Bu sayede Bilgi Katmanı içerisindeki FOAF dokümanlarında OWL DL dilinin kullanımı sağlanır.
Anlamsal Web Portal Mimarisi içerisinde arayüzler, ontolojilerden elde edilen verilerle oluşturulmaktadır. Bu sayede kişiselleştirilmiş sayfaların geliştirilebilmesinin yanı sıra anlamsal web sayfaları gösterimine en yakın etki elde edilmiştir. Kişiselleştirilmiş sayfalar, kişilerin tercihlerinin saklandığı FOAF dokümanları kullanılarak elde edilir. Ancak, portal içerisindeki web sayfalarının içeriğinin oluşturulmasında FOAF dokümanları yetersiz kalır. Bu nedenden, portal içerisindeki kişisel web sayfalarının ve diğer modüllerin, yapısal olarak tanımlandığı ontoloji dokümanlarına ihtiyaç duyulmaktadır. Bu çalışma içerisinde, arayüzlerin oluşturulması amacıyla “The People’s Portal” [12] çalışmasında bulunan yapısal ontolojiye benzer bir ontoloji geliştirilmiştir. Anlamsal Web Portal mimarisindeki arayüzler, bu yapısal ontoloji içerisindeki veriler ve bu ontolojilerin kullandıkları FOAF dokümanları kullanılarak yapılmaktadır. Geliştirilen ontoloji, web sayfalarının, kişisel bilgi ve tercihler ile nasıl tanımlanacağını açıklayan üst ontolojidir. Portal içerisinde gezinti, durum ve çıkarsama işlemleri bu ontoloji sayesinde gerçeklenir.
Anlamsal Web Portal mimarisindeki bütün ontolojilerin saklanacağı ve erişileceği yer veri depolarıdır. Bu amaçla özellikle anlamsal web teknolojileri uygulamalarında sıkça kullanılan SESAME veri deposu tercih edilmiştir [9]. SESAME RAL (Repository Abstraction Layer) katmanlı sorguları ele alma mekanizması ve SPARQL4 sorgu modülü sayesinde sorgulara hızlı yanıtlar verebilmektedir. Aynı zamanda dağıtık mimarileri desteklemesi ve Jena ile ortak çalışabilmesi de önemli bir artıdır. SESAME, sorgulama, veriyi saklama ve veriye erişim amacıyla kullanılmasının yanı sıra, çıkarsama motoru ile ortak kullanılarak Anlamsal Web Portal mimarisi içerisinde elimizdeki verilerden yeni veriler elde edilmesi amacıyla da kullanılmaktadır. OWL dili desteği, esnekliği ve Jena yapısı kullanılarak erişilmesindeki kolaylığından dolayı veri deposu olarak SESAME uygun bir seçimdir.
Şekil-3'de görülen bilgi katmanını incelersek, bilgi katmanı içerisinde SESAME veri deposu ve bilgi modülü bulunmaktadır. Bilgi modülü, kendisine gelen istekleri Jena model içerisinden ayrıştırarak, SPARQL dili sorguları içerisinde veri deposuna aktarmakla görevlidir. Bu bilgilere yeniden gerek duyulduğunda, bilgi modülü SESAME veri deposundan gerekli ontolojileri yine SPARQL sorguları ile ister ve gelen cevapları, oluşturduğu bir Jena model içerisine alarak üst katmanlara ve modüllere iletir. Bilgi modülünün başka bir işlevi ise SESAME içerisindeki ontolojileri üst modüllere model olmaksızın ontolojiler olarak sunabilmesidir. Çekirdek katman içerisindeki kullanımlar sebebiyle, bilgi modülü bu iki yöntemi de desteklemektedir. Anlamsal Web Portal mimarisi içerisinde bilgi katmanı ile çekirdek katman ortak olarak çalışmakla birlikte, bilgi modülü sayesinden birbirlerinden 3-katmanlı mimariye uygun olarak soyutlanmaktadırlar.
Şekil 3: Bilgi katmanı ile Çekirdek katmanın haberleşmesi.
Bilgi katmanı içerisinde çıkarsama işlemleri için gerçeklenen bir çıkarsama modülü ve bu modüle bağlı olarak çalışan çıkarsama motoru bulunmaktadır. Çıkarsama motoru, Anlamsal Web Portal mimarisi içerisinde kişisel verilerden ve diğer ontolojilerden yeni bilgiler elde edilmesini sağlayarak, kullanıcılar ve tercihleri hakkında daha fazla bilgi elde edilmesini sağlar. Bu bilgiler daha sonra aramalar içerisinde kısa yolların bulunmasında, kişiselleştirme aşamasında kullanılmaktadır. Günümüzde gerçekleştirilen birçok web portal mimarisi içerisinde bulunmayan çıkarsama motoru, Anlamsal Web Portal Mimarisini tamamlayıcı ve zeka katan bir unsurdur.
Şekil–4: Çıkarsama Motoru ile çıkarsamanın gerçeklenmesi.
Çıkarsama Modülü, çıkarsama yapılacak dokümanı bilgi modülünden alarak çıkarsama motoruna aktarmakla görevlidir. Çıkarsama Modülünden gelen Jena modelleri, çıkarsama motoru içerisinde işlenerek, çıkarsama modülüne geri gönderilir. Son olarak, Çıkarsama Modülü, geri gelen Jena modelini, SESAME veri deposuna gönderilmesi amacıyla bilgi modülüne aktararak, çıkarsama işlemini tamamlar. Bu akış Şekil-4’de görülmektedir. Çıkarsama modülü ve motoru, Jena model geçişleri sebebiyle MVC mantığa uygun olarak tasarlanmamıştır.
3.2.Çekirdek Katman
Çekirdek Katman, Anlamsal Web Portal mimarisinin orta kısmında, bağlayıcı ve yönetici rolündedir. İçerisinde bulundurduğu, çekirdek modül, bilgi modülü, çıkarsama modülü ve ATF (Ajax Toolkit Framework) modülü kendilerine özel işlevleriyle Anlamsal Web Portal mimarisinin çalışmasını sağlarlar.
MVC mimarisinde [20], üç temel modül, katman ya da sınıf bulunmaktadır. Bu katmanlar sırasıyla Model, View ve Controller’dır. Bu parçalar ortak çalışarak uygulamalar için arayüzler oluşturur. Anlamsal Web Portalın akışında çekirdek katman, arayüzden gelen isteklerin tetiklediği değişikliklerin, işlenmesinden ve sonuçların bilgi katmanından alınarak arayüz katmanına iletilmesinden sorumludur. İşleyişi bakımından çekirdek katman, MVC mimarilerine benzer bir yapıda geliştirilmiştir. MVC mimarisi içerisindeki modüllerin işlevleri ve çekirdek katman içerisinde bu modüllere karşılık gelen modüller şu şekilde açıklanabilir:
Model, bağlam içerisinde, uygulamanın işlediği bilginin gösterimini ele almaktadır. Temel olarak görünüş ve kontrol modüllerinden bağımsız çalışır ancak bu modüllerle iletişim halindedir. Çalışmamız içerisinde Model yapısına en çok benzeyen modül, Bilgi Modülüdür. Bilgi Modülü, Anlamsal Web Portal Mimarisi içerisinde ontolojilere erişimi, ontolojilerin kontrolünü ve güncellenmesini sağlamakla görevlidir. Anlamsal Web Portal içerisinde tutulmakta olan ontolojilerin kullanımını çekirdek katman içerisindeki diğer modüllerden yalıtır ancak tüm modüllere hizmet sunmak zorundadır.
Kontrol (Controller), uygulamanın davranış biçimlerinin tanımlandığı ve uygulanması için gerekli olayların yürütüldüğü modül ya da sınıftır. Temel işlevi gelen istekleri almak, bu istekleri model içerisinde anlaşılabilecek yapılara çevirerek, modele gerekli işlemlerin yapılması iletmektir. Ancak kontrol kendi içerisinde kısıtlamalara sahiptir. Asla görünüş modülünü etkileyemeyeceği gibi, model içerisindeki verilerin içeriklerini de değiştiremez. Çalışmamız içerisinde kontrol yapısına en benzer yapı, çekirdek modül yapısıdır. Çekirdek Modül içerisinde ATF Modülünden gelen ontoloji istekler Jena Model yapısına dönüştürülür ve ontolojiler üzerinde yapılacak işlemler tanımlanır. Bu işlemler, gerçekleştirilmeleri için Jena Model yapısının içine gömülmüş olarak bilgi katmanına aktarılır. Aynı zamanda çekirdek modül, arayüzün güncellenmesi sırasında, bilgi katmanından yapılan değişiklikleri alarak arayüzün tekrardan kontrol edilmesiyle görevlidir.
Görünüş (View), Model içerisinden veriyi alarak, arayüzü oluştur ve uygulamanın kullanıcı ile etkileşimini sağlar. Model içerisindeki verilere erişimi birlikte, uygulamanın durumunu değiştirme hakkına sahip değildir. Anlamsal Web Portal Mimarisi içerisinde, görünüş yapısının işlemlerini yapan modül ATF modülüdür. ATF Modülü, model modülünden gelen arayüz elemanlarının kullanıcıya gösterilmesi ve kullanıcılardan gelen isteklerin, çekirdek modüle iletilmesiyle görevlidir. Aynı zamanda model içerisinden gelen arayüzlerin açıklamalarını içeren ontolojileri işler ve kullanıcı sayfalarının ve Anlamsal Web Portal sayfalarının oluşturulmasını sağlar.
Tüm bu yapıların ve modüllerin birleştirileceği yapı Jena Anlamsal Web Çatısıdır [18]. Jena çatısı, ontolojileri yorumlar ve ontolojilerin özünü oluşturan çizge yapısını oluşturularak, bu yapının bir model içerisinde tutulmasını sağlar. Bu modele Jena model denmektedir. Jena çatısının Anlamsal Web Portal içerisinde tercih edilmesinin sebepleri yaygın olarak kullanımı ve Java dili desteğidir. Jena çatısı, Anlamsal Web Portal mimarisi içerisinde, ontoloji nesnelerinin oluşturulması ve bu nesnelerle ilgili işlemlerin tamamlanmasında kullanılmaktadır. Jena çatısını kullanan modüller sayesinde, ontolojilerin ayrıştırılması ve işlenmesi, oluşan ontoloji modellerinin ve nesnelerinin diğer modüllerde kullanılabilmesi mümkün olmaktadır.
Şekil 5: Çekirdek Katman Mimarisi
Şekil–5’de Anlamsal Web Portal mimarisinin genel akışı görülebilmektedir. Arayüz modülü ile iletişim içerisinde bulunan ATF modülü, kullanıcılardan ve diğer kaynaklardan gelen istekleri, ontolojiler içerisinde ayrıştırarak, çekirdek modüle aktarmaktadır. Çekirdek modül, ATF modülünden gelen istekleri alır ve bu isteklere karşılık yapılacak olan işlemleri açıklar. Bu açıklamaları ve değişikliklerin yapılacağı ontolojileri Jena nesnelerine içerisine alarak, bilgi katmanı içerisinde kullanılabilmesini sağlar. Daha sonra bu istekler, gerçeklenebilmeleri için bilgi modülüne aktarılarak, işlemlerin yapılması sağlanır. Bilgi Modülünden aktarılan isteklere bağlı olarak SESAME’de güncellenen ve değiştirilen ontolojiler, bilgi katmanı içerisinden yeni arayüzlerin oluşturulması için doğrudan ATF modülüne aktarılır. ATF modülü, bilgi modülünden gelen yeni arayüz ontolojilerini kullanılarak yeni arayüzleri oluşturur. Aynı anda, Bilgi modülü, yapılan arayüz ve kullanıcı tercihlerindeki değişiklikleri, değişikliklerin tanınması ve kontrolü için Çekirdek modül’e geri bildirir.
Çekirdek katman içerisinde, Anlamsal Web Portal mimarisinde kullanılan çıkarsama motorunun yönetimi de sağlanmaktadır. Yine arayüz katmanında yapılan işlemler, eğer çekirdek modülde belirlenen yorumlamalar sonucunda bir çıkarsama işlemi gerektiriyorsa, çıkarsama modülün uyarılması ve çıkarsama yapılacak ilgili arayüz ve kullanıcı ontolojilerin çıkarsama modülüne aktarılması gerekmektedir. Çıkarsama modülü, kendisine çekirdek modülden bu istek geldiğinde, bilgi modülü ile konuşarak ve ilgili ontolojileri ister. Yapılacak çıkarsama ile ilgili gerekli kısıtların ve çıkarsama parametrelerinin belirlenmesi, çıkarsama modülü içerisinde yapılmaktadır. Çıkarsama modülü çıkarsama parametrelerini belirledikten ve ontolojileri içeren Jena modelleri bilgi modülünden aldıktan sonra, çıkarsamanın yapılabilmesi için çıkarsama motorunu kullanmaktadır. Çıkarsama sonucu elde edilen yeni model, ontolojilerin güncellemesinin yapılabilmesi amacıyla bilgi katmanına verilerek çıkarsama işlemi tamamlanmış olur.
3.3.Arayüz ve Web Katmanı
Arayüz katmanı, alt katmanlarda bulunan tüm ontoloji saklama ve işleme mimarisinin kullanıcı ile etkileşim halinde bulunan en üst katmanıdır. Arayüz katmanı içerisinde kullanıcılara, ontolojilerle oluşturulmuş arayüzler web sayfaları olarak sunulmaktadır.
Bu çalışma kapsamında, Anlamsal Web Portal’ı kullananlardan sadece insan kullanıcılarından bahsetmek, anlamsal web portal anlayışı [3] ile uyuşmaz. Diğer anlamsal portallarda [2,3] ele alındığı gibi etmenler (agent) de kullanıcı olarak düşünülmelidir. Etmen, tanımı itibariyle, otonom çalışabilen, diğer etmenlerle iletişim kurabilen ve bir hedef doğrultusunda planlar çıkararak, bu planlarını uygulayabilen sistemdir [5]. Anlamsal Web teknolojileri içerisinde düşünüldüğünde, anlamsal web portallar da gerek uygulama alanının benzerliği gerekse davranış biçimleri açısından bir etmen olarak ele alınmaktadır [2]. Ancak, günümüzde geliştirilen anlamsal web portallar, otonom çalışmamakta, kullanıcılarının tepkilerine bağlı olarak bir plan ortaya koymaktadır ve bunun gerçeklenmesi sırasında diğer anlamsal web teknolojileri ile haberleşmektedirler. Örneğin, bir anlamsal web portal içerisinde belirli bir sorgu yapılırken, bu sorgunun arama uzayını sadece sorgunun yapıldığı anlamsal web portal içerisine sınırlamak doğru değildir. Anlamsal Web teknolojilerinin en önemli özelliklerinden biri olan ortak çalışma prensibi sayesinde bu sorgu, bilinen ya da ilgili diğer anlamsal web portallar ya da anlamsal web uygulamaları içerisinde de sorgulanabilir olmalıdır [1].
Çalışmamızda, Anlamsal Web Portal mimarisinin otonom, akıllı ve sezgisel olması hedeflenmiştir. Bu özelliklerin sağlanabilmesi için, ilk olarak Anlamsal Web Portalın iletişim yeteneklerinin gelişmiş olması gerekir. Bu iletişim yetenekleri sayesinde Anlamsal Web Portalın, anlamsal web uygulamaları ve etmenler ile konuşarak bilgi alışverişinde bulunabilmesi, gerektiğinde diğer anlamsal web uygulamaları ortak veri depoları kullanabilmesi sağlanmaktadır.
Bu hedefle çalışmamızda etmen olarak, diğer web portalları, bilgi depoları ve mobil cihazlar üzerinde yürütülen anlamsal web uygulamaları kabul edilmiştir. Tüm anlamsal web teknolojileri, kendi aralarında iletişim için etmenlere özgü mesajlaşma yapısı olan FIPA-ACL1 mesaj yapısını kullanırlar. XML dili ve RDF2 dillerinde tanımlanan FIPA-ACL mesajı yapısı, Anlamsal Web Portal ile etmen uygulamaları arasında iletişimin sağlanabilmesi amacıyla kullanılmıştır.
Günümüzde geliştirilmekte olan teknolojilerden, Web 2.0’ın getirdiği yeniliklerin kullanılabilmesi ve ileriye dönük olarak geliştirimlerin yapılabilmesi için arayüz gösterimlerinde AJAX (Asynchronous JavaScript and XML) teknolojisi kullanılmaktadır. AJAX teknolojisi, sunucular üzerindeki yükü azaltarak, hızlı ve masaüstü uygulamalara yakın web uygulamaları ile arayüzleri geliştirilebilmeyi sağlar [24]. Özellikle AJAX’la gelen yürütme anında web uygulamaların içeriğinin değiştirilebilmesi olanağı, web sayfalarının kişiselleştirilmesini kolaylaştırmaktadır. Bu özellik günümüzde geliştirilen web portallarında ve web sayfalarında kullanılır. Ancak anlamsal web portalların günümüz web uygulamalarından farkı, kişiselleştirmenin yanı sıra kişisel bilgilerin de kullanıcıların arayüzlerinin oluşumunda rol alması, hatta arayüzlerin kişisel bilgilerden türetilebilmesidir. Bu özellikler düşünüldüğünde anlamsal web portallar AJAX teknolojisinin kullanımı için daha uygun ortamlardır.
Anlamsal Web Portal içerisinde çekirdek katmanda Java dili ve teknolojilerinin kullanıldığından, AJAX ile ortak çalışabilen ATF (AJAX Toolkit Framework) [17], arayüz katmanının gerçeklenmesinde kullanılır. ATF teknolojisi Eclipse Foundation’ın geliştirdiği, günümüzde kullanılan arayüz teknolojileri içerisine AJAX teknolojisinin entegre edildiği bir çatıdır. Çalışmamız içerisinde ATF teknolojisini kullanan ve tüm alt katmanlarla iletişim kurabilen ATF-Jena modülü sayesinde, Anlamsal Web Portal içerisindeki sayfalar, ontolojilerden elde edilen kişisel verilerle oluşturulur. İncelenen diğer web portalların, bazılarında bu yapı tercih edilmekle birlikte [7,10], bazı portallarda durağan bir yapı üzerinden, web portal içerisinde dolaşımın sağlanmasına çalışılmıştır [1,4]. Ancak, anlamsal gösterimin sağlanması, Anlamsal Web Portallar için önceliktir. Bu çalışma içerisinde gerçeklenen arayüz katmanının ilerisi için geliştirilmeye açık bir yapı olabilmesi amacıyla arayüz sayfalarının oluşturulmasında durağan yapı tercih edilmemiştir.
Şekil–6: Arayüz Katmanının içeriği.
Arayüz katmanının genel yapısı Şekil-6’da görülmektedir. Arayüz katmanı, dışarıda bulunan etmenler ve kullanıcılar ile bunlara hizmet sunan ATF Modülünü içerir. ATF Modülü içerisinde, kullanıcılardan gelebilecek isteklere bağlı olarak Java-AJAX arayüz sayfaları, etmenler ve web servis hizmeti veren modül bulunmaktadır. Bu yapılar çekirdek modül ile iletişimde bulunmaz ve Jena nesnelerini kullanmazlar. Bu nedenden dolayı ATF modülü içerisinde, bilgi modülü ile iletişim halinde bulunan ve veri akışını yöneten ATF-Jena modülü bulunmaktadır. ATF-Jena modülü içerisinde, Java-AJAX arayüz sayfalarından ya da web servislerden gelen istekler, ontoloji elemanlarına dönüştürülerek, çekirdek modül içerisindeki alt modüllere aktarılırlar. Alt katmanlardan gelen cevaplar, yine ATF-Jena modülü içerisinde yorumlanarak, gelen ontoloji içeriklerinden Java-AJAX sayfaları oluşturulur.
Web servislerden isteklerin gelmesi durumunda ise ATF-Jena modülü, gelen cevapları XML diline çevirerek, web servis modülüne aktarır. Arayüz katmanı mimarisinin esnekliği ile etmen teknolojileri geliştikçe, yeni arayüz modüllerinin ATF-Jena modülünün üstüne kolaylıkla eklenmesi sağlanabilmektedir.
4.Gerçekleştirim ve İlgili Çalışmalar
Çalışmamız içerisinde Anlamsal Web Portal Mimarisinin gerçeklenmesine başlanmış ve projenin üç katmanı da temel olarak gerçeklenmiştir. İlk olarak ontolojilerin oluşturulmasına geçilmiş ve FOAF dokümanları oluşturulmuştur. FOAF dokümanlarının OWL DL dili ile kullanımı için genişletilmesi çalışmaları yapılmış ve ek ontolojiler eklenmiştir. Bu genişletilmiş FOAF tanımlaması kullanılarak örnek bir FOAF dokümanı oluşturulmuştur. Geliştirilen tüm ontolojiler SESAME Veri deposuna konulmuştur. Daha sonra bilgi modülü içerisinde SESAME veri deposu ile iletişimi kurularak ve bu örnek ontolojiler Jena modelleri içerisine alınmıştır. Bu modeller kullanılarak bilgi modülü içerisinden SPARQL sorguları yürütülmüştür. Bu sayede bilgi katmanı ve bilgi modülünün Jena çatısı üzerinden erişimi tamamlanmıştır.
Anlamsal Web Portal Mimarisi içerisinde en üst katmana geldiğimizde, AJAX teknolojilerinin gerçeklenmesi amacıyla ATF kullanımı sağlanmıştır. ATF kullanarak oluşturulan ATF modülü içerisinde ve oluşturulmuş bilgi katmanından gelen FOAF dokümanlarının Jena çatısı içerisinde yorumlanması ve kayıtlanması gerçeklenerek, en alt katmandan, arayüz katmanına veri akışı sağlanmıştır.
Oluşturulan örnek Java-AJAX sayfası ile ATF modülünden alınan kişisel bilgiler, çekirdek modülünde Jena model içerisine alınmış, bu model bilgi modülünde kullanılarak SESAME veri deposuna kişisel bilgilerin saklanması gerçeklenmiştir. Oluşturulmuş olan örnek Java-AJAX sayfası, henüz yapısal ontolojiler oluşturulmadığından kayıtlanma örneği için ontolojiler kullanılarak gerçeklenmemiştir.
Bu kısımda, çalışmamız kapsamında kullanılan teknolojilerin diğer anlamsal web portal teknolojileri içerisinde kullanımı ve kendi teknolojilerimiz ile karşılaştırılması anlatılmıştır.
Anlamsal web portallarda arayüz oluşturulması amacıyla ontolojilerin kullanılması yeni bir teknolojidir. DERI Enstitüsünün Anlamsal Web ekibinin geliştirdiği “The People’s Portal” ile anlamsal web portal mimarileri içerisinde kişisel bilgilerin tutulmasında FOAF dokümanlarının kullanımı sağlanmıştır [12]. “The People’s Portal” çalışmasında hedef, kullanıcıların kendi ontolojilerini yönetebilmeleridir. Bu amaçla üç katmanlı bir yapı ortaya koyan bu portal mimarisi içerisinde, roller tanımlanmış ve bu rollere bağlı olarak, portal ontolojisinin de değişimi sağlanmak hedeflenmiştir. Ancak, “The People’s Portal” içerisinde gerek güven ve profil gibi kavramlar tanımlanmamış, bu kavramların anlamsal web portal içerisindeki üç katmanlı metodoloji içerisinde görünüşler (views) sınırı içinde kalması tercih edilmiştir. Anlamsal Web Portal içerisinde ise, güven ve profil gibi kavramların sınırlama yapılmadan birer modül olmaları ve diğer modüller ile etkileşim içerisinde olmaları düşünülmektedir.
Başka bir anlamsal web mimarisi olan ODESew mimarisi üzerine geliştirilen çalışmada [8], ODESew mimarisi içerisinde değişikliğe gidilerek, ODESew 2.0 mimarisinin oluşturulması anlatılmaktadır. Bu mimari MVC yazılım mimarisine uymakla birlikte, MVC yazılım mimarisi ile geliştirilmemiş ODESew [26] mimarisine eklenti olarak gerçeklendiğinden, MVC modüllerinin yalıtımı tam olarak sağlanamamıştır. Anlamsal Web Portal içerisinde, genel MVC mimarisine sadık kalınmakla birlikte, erişim ve yalıtım tam olarak sağlanmış, bu mimari anlayış üstüne diğer modüller geliştirilmiştir.
5.Sonuçlar ve Gelecek Çalışmalar
Bu makale içerisinde, Anlamsal Web Portal mimarisi içerisinde kullanılan anlamsal web teknolojilerini ve bu amaçla geliştirilen diğer teknolojileri açıkladık. Bu açıklamaları yaparken, Anlamsal Web Portal yapısının 3-katmanlı bir yapıda gerçeklendiğinden bahsettik. 3-katmanlı yapıdan en alt katman olan bilgi katmanı içerisinde bilgilerin nasıl temsil edildiklerini ve saklandığını gösterdik. Bilgi katmanının ile çekirdek katmanın nasıl haberleştiklerini, üst katmanların bilgi katmanı sayesinde ontolojilere nasıl erişebildiklerini anlattık. Ardından, Arayüz katmanında oluşan istek ve tepkilerin çekirdek katmana nasıl geçirildiğini ve çekirdek katmanda bu isteklerin nasıl ele alındığını açıkladık. Çekirdek katman içerisinde ontolojilerin nasıl ele alındığını, bu katmandaki modüllerin kendi aralarında nasıl haberleştiklerini anlattık. Son olarak, arayüz katmanında, kullanıcıların sadece insan olamayacaklarını, makineler ile ortak veri alışverişinin de sağlanması gerektiğini söyledik ve bu gerekliliklerin sağlamak için geliştirilen arayüz modüllerini ve mesajlaşma biçimlerinin nasıl gerçeklendiğini açıkladık. En son geliştirilen web teknolojilerinin, anlamsal web teknolojileri ile nasıl birleştirildiğini açıklayarak, bu iki teknolojinin Anlamsal Web Portal içerisinde birleştirilmesinde yaşanan sıkıntıları ve alınan sonuçları açıkladık.
Gelecek çalışmalarımızda, çekirdek katman içerisinde web portalın gezinti senaryosunun gerçeklenmesi amaçlanmaktadır. Bu nedenle oluşturulması gereken yapısal arayüz ontolojileri oluşturulacaktır. Ardından, yapısal ontolojilerin Jena çatısı kullanılarak ATF ve bilgi modülü ile koordinasyonu sağlanacaktır. Bilgi katmanı içerisinde bu yapısal ontolojilerden arayüzler oluşturulacaktır. Bu aşamada, FOAF dokümanlarının kullanılacak ve kişisel arayüzlerin oluşturulması tamamlanacaktır. Arayüzlerin oluşturulmasının ardından, çıkarsama motorunun kullanılarak, Anlamsal Web Portal içerisinde çıkarsama işleminin yapımına geçilecektir. Çıkarsama modülüne bilgi modülünden gerekli bilgiler verilerek yürütülmesi sağlanacaktır. En sonda, akışın sağlanmasının ardından, kişilerin izinlerinin belirlenmesi ve rollerinin arayüz oluşumunu etkilemesi için güven ve profil modüllerinin oluşturulması gerekmektedir.
Anlamsal Web’in temel konularından birisi anlamsal bir arama yapılabilmesidir. Bu amaçla Anlamsal Web Portal içerisinde en son olarak gerçeklenecek arama modülü, çekirdek içerisindeki portal çatısının, çıkarsama motorunun ve bilgi katmanının tüm özelliklerini kullanacaktır. Anlamsal Web Portal içerisinde tüm bilgilerin ontolojilerde tutulduğu düşünüldüğünde, arama modülü kişisel tercihlerden oluşan arama kriterlerine uygun olarak arama yapabilecek esneklikte olmak zorundadır. Gerçeklenecek arama modülü, güven ve profil modüllerinin gerçeklenmesi sonrasında aramalar içerisinde kişisel tercih ve güvenilirlik kriterlerini kullanarak anlamsallığını ve zekasını kazanır. Bu sebepten anlamsal modül içerisinde arama, kişilerin güvenilirlikleri ve bundan daha da etkin bir özellik olan kullanıcı profillerindeki kişisel tercihler kullanılarak yapılacaktır.
Son olarak bu bildiride, anlamsal web portalların geliştirilmesi ile günümüzde kullanılan portalların bilgiyi saklaması ve yönetmesinin geleceğini belirlenmektedir. Anlamsal Web Portal ile günümüze kadar geliştirilen birçok yapay zeka ve bilgi temsili yöntemleri için bir uygulama ortamı yaratarak, web teknolojilerine sezgisel, daha iyi yönetilebilen ve uygulanabilen bir ortam sunmaktayız.
Maedche A., Staab S., Stojanovic N., Studer, R., Sure Y., “Seal-A Framework for Developing Semantic Web Portals”, AIFB Enstitüsü, Karlsruhe Üniversitesi, Karlsruhe Almanya, 2001.
Lausen H., Stollberg M., Hernandez , L. R. , Ding, Y., Sung-Kook Han, Fensel D., “Semantic Web Portals-State of the Art Survey”, New Web Generation Grup, Innsbruck Üniversitesi, 2003.
Patel C., Supekar K., Lee Y., Park E. K., “OntoKhoj: A Semantic Web Portal for Ontology Searching, Ranking and Classification, Missouri Üniversitesi, Kansas ABD, 2003.
Corcho O., Cima A. Lopez, Gomez-Perez A., " ODESeW. Automatic Generation of Knowledge Portals for Intranets and Extranets ", 2003.
Reynolds, D., Shabajee P., Cayzer S., “Semantic Information Portals”, Bristol Birleşik Krallık, Mayıs 17-22 2004.
Studer R., Sure Y., Volz R., “Ontoweb-Web Portal: Complete Ontology and Portal”, AIFB Enstitüsü, Karsruhe Üniversitesi, Almanya, 2002.
Corcho O., Cima A. Lopez, Gomez-Perez A., "A Platform for the Development of Semantic Web Portals", Manchester Üniversitesi, Manchester, İngiltere, Madrid Politeknik Üniversitesi, Madrid, İspanya, 2006.
Daconta C. M., Obrst J. L., Smith T. K., “The Semantic Web”, Wiley Yayın Şirketi., ABD, 2003.
Broekstra J., Kampman A., van Harmelen F., "Sesame: An Architecture for Stroring and Quering RDF Data and Schema Information", Hollanda, 2002.
: Web ontology language (OWL), http://www.w3.org/2004/OWL/ , 2004.
Zhdanova V. Anna, "The People's Portal: Ontology Management on Community Portals", DERI-Digital Kuruluşu Araştırma Enstitüsü, Innsbruck Üniversitesi, Avusturya, İrlanda Üniversitesi Galway, İrlanda, 2005.
Sure York, Bloehdorn Stephan, Hasse Peter, Hartmann Jens, Oberle Daniel, "The SWRC Ontology-Semantic Web for Research Communities" , Karlsruhe Üniversitesi, AIFB Enstitüsü, Karlsruhe, Almanya, 2006.
Barna Peter, Houben Geert-Jan, Frasincar F., Vdovjak R., "Semantical Descriptions of Models for Web Design", Eindhoven Teknik Üniversitesi, Eindhoven Hollanda, 2004.
Gridonoc Laurian, "Concepts for faster exploratory navigation", Grapefruit, Romanya, 2005.
The Friend of a Friend (FOAF) project. http://www.foaf-project.org/, http://xmlns.com/foaf/0.1/, 2005.
Jena - A Semantic Web Framework for Java, 2004. http://jena.sourceforge.net/.
Meijer E., van Velzen D., “Haskell Server Pages Functional Programming and the Battle for the Middle Tier”, Teorik Bilgisayar Bilimi Notları, 41 No.1, 2001.
Sadoski D., Comella-Dorda S., “Three Tier Software Architectures”, Yazılım Mühendisliği Enstitüsü, Carnegie-Mellon, 2000.
Zhdanova A., Predoiu L., Pellegrini T., Fensel D., “A Social Networking Model of a Web Community”, 2006.
Arcieri T., “Beyond the Walled Garden”, http://btwg.wordpress.com/2006/06/13/collaborate/, 2006.
Franklin S., Graesser A., “Is it an Agent, or just a Program?:A Taxonomy for Autonomous Agents”, Akıllı Sistemler Enstitüsü, Memphis Üniversitesi, Springer-Verlag, 1996.
Schmidt K, Stojanovic L., Stojanovix N., Thomas S., “On Enriching Ajax with Semantics: The Web Personalization Use Case”, ESWC’07, Personalization II, SAP Araştırması, CEC Karlsruhe Almanya, 2007.
1 http://dictionary.reference.com/browse/portal , son olarak 28.06.2007 tarihine kadar geçerlidir.
2 http://www.w3.org/TR/ws-arch/ , son olarak 28.06.2007 tarihine kadar geçerlidir.
1 http://del.icio.us, son olarak 28.06.2007 tarihine kadar geçerlidir.
2 http://www.flickr.com, son olarak 28.06.2007 tarihine kadar geçerlidir.
1 http://www.w3.org, son olarak 28.06.2007 tarihine kadar geçerlidir.
2 http://www.w3.org/TR/owl-features/, son olarak 28.06.2007 tarihine kadar geçerlidir.
3 http://www.mindswap.org/2003/owl/foaf, son olarak 28.06.2007 tarihine kadar geçerlidir.
4 http://www.w3.org/TR/rdf-sparql-query/, son olarak 28.06.2007 tarihine kadar geçerlidir.
1 FIPA-ACL mesaj yapısının XML dili ile tanımlaması : http://www.fipa.org/specs/fipa00071/SC00071E.html, son olarak 28.06.2007 tarihine kadar geçerlidir.
2 FIPA-ACL mesaj yapısının RDF dili ile tanımlaması : http://www.fipa.org/specs/fipa00011/XC00011B.html, son olarak 28.06.2007 tarihine kadar geçerlidir.