TOBB Ekonomi ve Teknoloji Üniversitesi Fen Bilimleri Enstitüsü
Abstract
İnternetin sağlamış olduğu en önemli özelliklerden bir tanesi, bilgilerin birbirine bağlanabilir olmasıdır. Bu sayede, birbiri ile ilişkili içerikler, veriyi yayınlayan kişilerden veya kaynaklardan bağımsız olarak, bir ağ biçiminde ulaşılabilir olmaktadır. Ancak, internet ortamındaki verinin çokluğu ve çeşitliliği, kullanıcıların ihtiyaç duydukları bilgilere hızlı ulaşmalarını ve bu veriyi hızlı işlemelerini zorlaştırmaktadır. Verinin bilgisayarlar tarafından anlaşılabilir ve yorumlanabilir olması durumunda, kullanıcıların ihtiyaç duydukları bilgilerin, yazılımlar tarafından daha hızlı bulunması ve hazırlanması mümkün olacaktır. Bilgisayarların bu işlevleri yerine getirebilmesinin önündeki en büyük engel ise, internet üzerindeki mevcut verinin çok büyük bir kısmının yapısal olmayan biçimde, insan doğal dili ile yazılmış olmasıdır. Bu engeli ortadan kaldırmak için, sadece insanlar tarafından anlaşılabilen, doğal dilde yazılmış veriye ek olarak, bilgisayarlarında anlayabileceği, yapısallığı daha yüksek, anlamsal verinin kullanılması önerilmiştir. Bahsedilen bu yeni veri, internete yeni bir üst katman olarak eklenecek ve bilgisayarların anlayabildiği, yorumlayabildiği ve kullanabildiği, semantik ağ oluşturulmuş olacaktır. Semantik veriler, Kaynak Tanımlama Çatısı (Resource Description Framework - RDF), Ağ Ontoloji Dili (Web Ontology Language-OWL) ve Genişletilebilir İşaretleme Dili (Extensible Markup Language-XML) gibi diller kullanılarak yayınlanabilir. Bu verilerin yapısal olarak saklanmasını ve sorgulanmasını sağlamak amacı ile, özelleştirilmiş veritabanı sistemleri (Triple-Store) kullanılmaktadır. Ancak bu çözümlerin büyük bir kısmı, verilerin ölçeklenebilir olması gereksinimini karşılayamayacak biçimde, tek bilgisayar üzerinde çalışan tasarımlara sahiptirler. Diğer bir grup veritabanı çözümü ise RDF verileri için özelleştirilmemiş olan ilişkisel veritabanlarının kullanımı ile çalışmaktadır. Bu durum, verilerin boyutunun çok büyük olması halinde ve ilişkisel veritabanları çizge verilerini depolamak amacı ile özelleştirilmediği için, sorguların cevaplanmasının çok uzun zaman almasına sebep olmaktadır. Ayrıca üçlü veritabanları ilişkisel veritabanlarının sağlayamadığı ve OWL kullanılarak gerçekleştirilen çıkarım işlemlerini de yapabilmektedir. Bu tez çalışması kapsamında, yukarıda belirtilen problemlerin çözülebilmesi için kullanılabilecek dağıtık bir depolama ve sorgulama altyapısı önerilmiş ve tek bilgisayar üzerinde çalışan bir üçlü veritabanı çözümü ile karşılaştırılması yapılmıştır. Önerilen çözüm programlama ile gerçekleştirilmiş ve bu alanda yaygın kullanılan LUBM Veri Üreticisi ile üretilen veri seti kullanılarak, LUBM test sorguları denenmişlerdir. Tasarlanan sistemin dağıtık yapıda olması, sorgulama işlemlerinin daha küçük veri kümeleri üzerinde ve paralel olarak işletilmesine olanak vermektedir. Bu durumun sorgu cevaplama sürelerine olan etkisi, farklı sayıda birim içeren kümeler ile test edilmiş ve sonuçlar karşılaştırmalı olarak verilmiştir.One of the most important features of the Internet is that it lets information to be connected to each other. In this way, regardless of the publisher of it, contents related to each other, is accessible in the form of a network. However, the abundant number and diversity of the data on Internet, makes it difficult for users to quickly access and process the information they need. In the case that, computers can understand and interpret the data, preparation of information by software that users need, would be much faster. The greatest obstacle for computers to perform these functions is that very large portion of the data available on the Internet is non-structural data which was written in human natural language. To eliminate this obstacle, in addition to the usage of data just written in natural language that can be understood by the people, usage of semantic data which can be understood by computers was recommended. Mentioned new data will be added as a new layer to Internet and will enable computers to understand, interpret and use the new semantic network. Semantic data can be published by using languages such as the Resource Description Framework (RDF), Web Ontology Language (OWL) and the Extensible Markup Language (XML). This data is stored and queried in a structural form in customized database systems which are called Triple-Store. However, a large part of these solutions, the design of which are running on a single computer, does not satisfy the need for data to be scalable. Another group of solutions, use relational databases for the purpose of RDF Storage. In this case, when the amount of data is very large, queries take very long time as RDBMS's are not optimized to store Graph Data. In addition, relational databases can not provide inference capability which is carried out using OWL as it is performed by triple-stores. In this thesis work, a distributed infrastructure that can be used to store and query semantic data has been proposed and compared with a single Triple-Store running on a single computer. The proposed system solution has been implemented by programming it and tested with LUBM test queries on a set of artificial data which had been generated one of the most commonly used data set generator, called LUBM Data Generator. As the proposed system solution is a distributed one, query processes run in parallel on smaller data sets. The effect of this situation on the time interval for answering queries, have been tested with clusters including different number of units and results are shown in a comparison chart