Web 3.0 Teknolojisinin Açık Kaynak Yazılımlarla Uygulanması Yrd.Doç.Dr. Mustafa YENİAD1 Bilgisayar Mühendisliği Bölümü Mühendislik ve Doğa Bilimleri Fakültesi Ankara Yıldırım Beyazıt Üniversitesi, ANKARA 1 Email: [email protected] Özet: Bu çalışmada, ilişkisel veritabanı yönetim sistemindeki veriler, geliştirilen bir ontoloji bağlamında ve semantik eşleme (mapping) metodu kullanılarak, yeni nesil Web 3.0 teknolojisine uygun hale dönüştürülmüş ve Semantik Depo yazılımına aktarılmıştır. Dönüştürme işleminin başarı düzeyini test etmek amacıyla ilişkisel veriler ile semantik veriler arasında tutarlılık karşılaştırması yapıldığında, semantik depo yazılımındaki verilerde herhangi bir kayıp yaşanmadığı görülmüş; verilerin karşılıklı doğrulanmasıyla semantikleştirme işleminin başarılı olduğu anlaşılmıştır. Bu araştırmanın yeni nesil Web 3.0 teknolojisinin uygulanmasının önündeki engellerden biri olarak görülen ilişkisel verilerin henüz semantikleştirilmemiş olması problemine otantik bir çözüm örneği olabileceği ve ayrıca kullanılan araçların tümünün açık kaynak felsefesine dayanması açısından, söz konusu yazılımların yeni nesil web teknolojisinde işe koşulmasına katkı sağlayabileceği düşünülmektedir. Anahtar Sözcükler: Semantik Web, Semantikleştirme, SPARQL, Web 3.0, OWL. Implementation of Web 3.0 Technology by Open Source Software Abstract: New generation web technologies presented the problem of intelligent representation of data in semantically structured systems. In this study, an ontology developed and data hosted in Relational Database Management System (RDBMS) has been converted to new generation web technologies (i.e. Web 3.0) by using semantic mapping method and semantification of the data has been accomplished. The success of transformation procedure has been verified by cross comparison of the data in the relational database and triple store system. It is thought that this research may be considered as an authentic solution example to one of the obstacles to the implementation of new generation of Web 3.0 technology due to relational data which is not been semantified yet. All of the tools have been used in this study are completely based on open source technologies. Keywords: Semantic Web, Semantification, SPARQL, Web 3.0, OWL. 1. Giriş Web teknolojisinin gelişim seyrini temsil etmek üzere Web 1.0, Web 2.0 ve Web 3.0 tanımlamaları yapılıyor olsa da bu durumun herhangi resmi bir temeli bulunmamaktadır ancak sunduğu imkanlar ve teknik altyapısı göz önünde tutulduğunda Web 1.0 "Durağan (Static)"; Web 2.0 "Etkileşimsel (Interactional)"; Web 3.0 ise "Anlamsal (Semantik)" olarak nitelendirilebilir. Web 1.0 kavramıyla temsil edilen web sayfaları, kullanıcıların hiçbir şekilde katkıda bulunamadığı ve pasif birer okuyucu durumunda olduğu içerik ve kendi aralarındaki doküman bağlantılarından oluşur. Web 2.0, çoklu ortam öğeleri ve etkileşimli araçlar barındıran ikinci nesil internet teknolojileri aracılığıyla kullanıcılarının ortaklaşa ve paylaşarak oluşturduğu web ortamını temsil eder. Semantik Web (SW), internet ortamındaki kaynakların daha kolay erişilebilir, makineler tarafından anlaşılabilir ve yazılım ajanları tarafından kullanılabilir hale getirilmesi amacıyla yeniden tanımlanması fikridir. SW, web teknolojisinin güncel bir sürümü; yazılımlar için yeni bir üstveri (metadata) teknolojisi; açık kaynak teknolojiler lehine bir sosyal hareket veya yeni nesil bir yapay zeka teknolojisi olarak değerlendirilebilir [1]. SW fikrinden önceki sürede web içeriğini oluşturan yapıya bakıldığında dokümanların insanların okuması, anlaması ve kullanımı için tasarlanmış ve geliştirilmiş olduğu görülür. SW teknolojisinin kullanılmaya başlanmasıyla internet ortamının web dokümanları (web of documents) olmaktan çıkıp gerçek bir veri ağına (web of data) dönüşeceği düşünülmektedir. Mevcut web içerikleri ve veritabanlarındaki verilerin çok büyük bir kısmının henüz SW teknolojisinin temel öğesi olan RDF (Resource Description Framework) biçimine dönüştürülmemiş olması [2] ve etiketlenmemiş veri miktarının her geçen gün daha da artması SW teknolojisinin yaygınlaşmasının önündeki en büyük problemlerden biri olarak durmaktadır. İlişkisel veritabanlarındaki içeriklerin semantikleştirilmesi amacıyla araştırmalar sürdürülmektedir ve henüz bir standart oluşturulamamıştır. Bu araştırmada, SW'in kullanılabilmesinin / yaygınlaşmasının ilk koşulu ontolojiler bağlamında verilerin RDF yapısına uygun dönüşümü, ardından depolanması ve sorunsuz bir biçimde sorgulanabilmesi olduğundan dolayı, SW'in Ontoloji, OWL, RDF, RDFS ve SPARQL katmanları üzerinde çalışılmıştır. Günümüzde SW için halen problem olarak duran ilişkisel veritabanlarındaki verilerin semantikleştirilmesine otantik bir çözüm örneği oluşturmak üzere, açık kaynak yazılımlar kullanılarak, ilişkisel veritabanındaki veriler üzerinde; • Modellenen ontoloji bağlamında ilişkisel veritabanındaki verilerle ontoloji varlıkları arasında eşleme (mapping) yapıldıktan sonra ilişkisel verilerin semantik dönüşümü gerçekleştirilmiş; • Elde edilen RDF biçimindeki veri seti yığını doğrulanmak üzere Semantik Depoya (Triple Store) aktarılmış; • İlişkisel veritabanı yönetim sistemi ile semantik depo yazılımı üzerinde işletilen farklı düzeylerdeki eşdeğer SQL ve SPARQL geri çağırma sorguları aracılığıyla dönen sonuçlar karşılaştırılarak modellenen ontolojiye göre semantikleştirme işleminin başarı düzeyi incelenmiş; • Doğrulayıcı geri çağırma sorgularına ek olarak işletilen ekleme, güncelleme ve silme eşdeğer SQL ve SPARQL sorgularının tepki süreleri aracılığıyla veritabanı yönetim sistemi ile semantik depo performans açısından karşılaştırılmıştır. Araştırmanın gerçekleştirildiği platform olarak Linux CentOS 6.5 işletim sistemi, ontoloji geliştirme aracı olarak Stanford Üniversitesi'nce geliştirilmiş Protégé aracı ve OWL ontoloji geliştirme dili; İlişkisel Veritabanı Yönetim Sistemi olarak MySQL; Semantik Depo yazılımı olarak Openlink firması tarafından geliştirilmiş olan ve açık kaynak sürüm Virtuoso; veritabanı öğeleri ile ontoloji varlıkları arasında semantik eşleme (mapping) yapmak üzere Eclipse platformunda çalışan açık kaynak kodlu Neon Toolkit Plug-In'leri aracılığıyla RO 2 (Relational to Ontology) eşleme dili; İlişkisel Veritabanı Yönetim Sistemi ile Semantik Depo yazılımlarının performans kıyaslaması (benchmarking) işlemi için PHP programlama dili kullanılarak araştırmacı tarafından kodlanmış web tabanlı betikler üzerinden işletilen SQL ve SPARQL sorguları kullanılmıştır. 2. Araştırmada Kullanılan Açık Kaynak Araçlar 2.1. Ontoloji Editörü SW teknolojisinin bir anlamda kalbini ontolojiler oluşturur. Ontoloji, insanlar veya sistemler arasındaki iletişimin temel aldığı bir bilgi alanının, ilgili sistemler tarafından tanınan ortak anlamını ifade eder [3]. Bu bağlamda ontolojiler, bir alanla ilgili nesnelerin sahip olduğu özelliklerin ve birbirleri arasındaki ilişkilerin tanımlanmasını gerekli kılar. Ontolojiler, yirminci yüzyılın sonlarından itibaren yapay zekâ alanında yoğun bir şekilde kullanılmıştır. Günümüzde ontolojilerin kullanımı zeki sistemler, eticaret, doğal dil işleme, bilgi yönetimi, veritabanlarının bütünleştirilmesi, biyobilişim ve eğitim konularında yaygınlaşmaktadır [4]. SW'de ontolojilerin modellenmesi, yayımlanması, dokümanlar üzerinde yazılım ajanlarının ileri düzeyde web aramaları yapabilmesi için RDF, RDFS ve OWL semantik tanımlama dilleri kullanılır. XML sözdizimine dayanan OWL (Web Ontology Language), bilgi yönetimini, yazılım ajanlarını ve ileri düzeyde web aramalarını destekleyen, ontolojilerin yayımlanması ve paylaşımı için kullanılmaktadır. Belirli sözdizim özelliklerine sahip olan OWL dilinin temelini oluşturan XML yapısını elle oluşturarak geliştirmek mümkündür ancak ontoloji elemanlarının tanımlanması ve bunlar arasındaki ilişkilerin elle takibi oldukça zor olduğundan ontoloji geliştirme işlemini kolaylaştırmak ve ontoloji elemanlarının takibi ile aralarındaki ilişkileri tanımlamak, gerektiğinde modelle ilgili güncellemeler yapmak üzere ontoloji editörleri geliştirilmiştir. Bu çalışmada ontoloji editörü olarak Protégé aracı kullanılmıştır. Stanford University ile University of Manchester tarafından Java platformu üzerinde ortak olarak ve açık kaynak felsefesine göre geliştirilen bir ontoloji editörüdür. OWL-DL düzeyinde destek sağlayan yazılım ile internet üzerindeki çevrimiçi ontolojiler üzerinde çalışılabileceği gibi, yerel disk üzerinde yeni bir ontoloji tasarlamak da mümkündür. Protégé,Pellet ve Fact++ adındaki yorumlama motorları ile ontoloji üzerinde açıkça belirtilmemiş olan ilişkileri de kullanıcının dikkat ve kullanımına sunabilir [5]. Birden fazla sayıda ontolojiyi aynı anda açarak bağıntılar tanımlanabilir. Protégé, eklentilere açık bir mimari ile tasarlandığından, zengin ontoloji araçlarını da içerir. Örneğin, OwlViz eklentisi ile üzerinde çalışılan ontolojinin görselleştirilmesi mümkün olabilmektedir. 2.2. Openlink Virtuoso Semantik Deposu Virtuoso yazılımı, Openlink firması tarafından geliştirilmiş açık kaynak hibrit bir veritabanı yönetim sistemidir. Geleneksel ilişkisel veritabanı ve SQL desteği bulunmakla birlikte, gelişmiş XML ve RDF veri depolama özellikleri ile birlikte Full SPARQL desteğinden dolayı rakiplerine göre avantajlı bir semantik depo olarak kullanılabilmektedir. MySQL ve Virtuoso, ODBC sürücü desteğine sahip olduğundan dolayı her ikisi birçok programlama dili ile birlikte rahatlıkla kullanılabilmektedir. 2.3. Semantik Eşleme (Mapping) aracı ve Eşleme Dili Araştırmada, veritabanı öğeleri ile ontoloji varlıkları arasında semantik eşleme (mapping) işlemi, Eclipse IDE platformunda çalışan açık kaynak kodlu Neon Toolkit Plug-in'lerinden ODEMapster aracı ve R O (Relational to genellikle daha yüksek performans sunabileceği ve bu bağlamda semantik web teknolojisinin, yoğun işlem trafiğine sahip ağ tabanlı uygulamaların performans ihtiyacını karşılama potansiyeli taşıdığı söylenebilir. 4. Kaynaklar 2 Ontology) dili aracılığıyla gerçekleştirilmiştir. 3. Sonuç İlişkisel veritabanı yönetim sistemi ile semantik depo yazılımı üzerinde işletilen SQL ve SPARQL geri çağırma sorgularının birebir aynı sonuçları döndürdüğü görülmüş ve geliştirilen ontolojiye göre semantikleştirme işleminin %100 oranında başarılı olduğu anlaşılmıştır. Geri çağırma sorgularına ek olarak güncelleme, silme ve ekleme sorguları da işletilerek toplam 25 çift sorgunun ortalama sonuç döndürme sürelerinin karşılaştırılması sonucunda, semantik depo yazılımının ilişkisel veritabanına göre -yüksek satırlı cevap döndüren geri çağırma sorguları dışındaki- tüm sorgu türlerinde daha düşük tepki süresi verdiği anlaşıldığından, SW tabanlı ağ uygulamalarının günümüz ilişkisel veritabanı yönetim sistemlerine göre [1] Pollock J.T. "Semantic Web for Dummies", Wiley Publishing, NJ, USA, 2009, p. 10-11. [2] The Semantic Web: An Introduction and Issues, International Journal of Engineering Research and Applications, 2012, p.780-786. [3] Ullrich, C. "Description of an Instructional Ontology and its Application in Web Services for Education". Applications of Semantic Web Technologies for E-learning, (SW-EL'04), 2004, p. 17-23. [4] Pérez A. &López M.,2007. Ontological Engineering: with examples from Knowledge Management, e-Commerce, and the Semantic Web. Springer-Verlag New York, Inc. Secaucus, NJ, USA. The Protégé Ontology Editor and Knowledge Acquisition System. http://protege.stanford.edu. Erişim: 08.10. 2015 [5]