An Algebraic Specification of the Semantic Web

We present a formal specification of the Semantic Web, as an extension of the World Wide Web using the well known algebraic specification language CafeOBJ. Our approach allows the description of the key elements of the Semantic Web technologies, in o…

Authors: Katerina Ksystra, Nikolaos Triantafyllou, Petros Stefaneas

An Algebraic Specification of the Semantic Web
An Algebraic Spec ification of the Sem antic Web Katerina Ksystra 1 , Nikolaos Triantafyllou 1 , Petros Stefaneas 2 and Panayiotis Frangos 1 1 School of Electrical and Computer Engineering, National Tec hnical University of Athens, Heroon Polytechniou 9, 15780 Zografou, Athens, Gree ce {katksy, nitriant, pfrangos}@central.ntua.gr 2 School of Applied Mathematical and Physica l Sciences, National Tech nical University of Athens, Heroon Polytechniou 9, 15780 Zografou, Athens, Gre ece petros@math.ntua.gr Abstract. We present a formal specification of the Semantic Web, as an extension of the World Wide Web using the we ll known algebraic specification language CafeOBJ. Our approach allows the description of the key elements of the Semantic Web tec hnolo gies, in order to giv e a better understanding of the system, withou t getting involved with th eir implementation d etails th at might not yet be standardized . This s pecification is part of our w ork in progress concerning the modeling the Social Semantic W eb. Keywords: semantic web, formal methods, algebraic sp ecif ications, CafeOBJ, social semantic web. 1 Introduction As the Internet and the Web techn ologies are evolvi ng, the need for specifying and formally describing t hem becomes m ore vital. In [9] Paine presen ts a n al gebraic specification of one particular kind of structured website, a slideshow, where each page is linked to its successor and pred ecessor. I t us es Cafe OBJ’s module syste m t o break this d own i nto modules. T his sp ecification can be divided in two main parts. The first par t, is a specificati on of the W orld Wide Web and the second defines this special site. In this paper we will make use of the first part o nly. As it is kno wn, the Se mantic Web does not replace the current Web, they coexist. More precisely, the first supp lements the second by adding semantics, meaning and new operatio ns. For this r eason, we have used the spec ification of the W eb from [9 ] and by specifying the additio nal semantic technologies we o btained a specification of the Semantic Web. We believe that b y using for mal methods to model the Se mantic Web, we gain at least a better understanding o f the underlying system. We al so focus on how di fferent parts work to gether, prove desired proper ties and st udy the m within a general framework. 2 The rest of t his paper is orga nized as follows : sectio n 2 pr esents the specification of the Semantic Web as well as a b rief introd uction to CafeOBJ. In section 3 we analyze some future goals and thoughts and we concl ude our paper . 2 Specification of the Semantic Web We have extended the speci fication of [9] b y ad ding various modules, i n order to describe the fundamental components of the Sema ntic Web and so m e o f their basic interactions. This was ac hieved with the use of CafeOBJ and thus before continuing we will give a short overview of the langua ge. 2.1 CafeOBJ specification lang uage CafeOBJ is a language for writing formal specifications of m odels and verifyin g properties of them [1 , 2 ]. It can be used to spec ify ab stract data types as well a s abstract state machines. A CafeOBJ specification co nsists of modules. In the b ody of the module we can declare the follo w ing : sorts, o perators, variables and equatio ns. A sort is a CafeOBJ term that d escribes abstrac t data ty pes with multiple inherita nce and operational semantics based o n term re writing [ 6, 7 ]. Declarations of o perators start with op or op s if there are many. Oper ators are defi ned using equations; suc h a declaration starts with the key word eq and the declaration of conditional equations with ceq . Also, the keyword used to denote a variab le is var . T he Ca feOBJ s ystem rewrites equations b y regarding them as left - to -right rewrite rules. 2.2 Sp ecification One o f the most important ele ments of CafeOBJ s ystem is the module, as we said before. T hus, i n figure 1 we sho w some of the modules we used as well as the ir connection. Two modules are connected when one i mports another. W e have used arrows that point to the module that is i m ported, to denote this relat ionship. As can be seen in figure 1, the module SEMANTICPAGE is linked to all the main modules o f the specification (t he grey-co lored) and through thi s all the others are co mbin ed as well. Also, it is wort h to mention that t he module PAGES basically merges P aine ’ s Specification with ours a nd thus we get a specification of t he Semantic Web. Below w e also analyze two of the modules used i n our specificatio n so that it ca n be better understood ho w we can specify a nd express a concept of i nterest i n CafeOBJ. These m odules correspond to t w o b uilding blocks of the RDF language, one of the main co mponents of the Se mantic Web. T he first module cor responds to an RDF triple a nd the second to an RDF graph. But b ef ore explaining t he modules we shall give a short descriptio n to these Se mantic Web compo nents. 3 Fig. 1. Modules and their interaction According to [ 10 ], the underlying structure o f any ex pression i n RDF is a collection of triples, each consisting of a sub ject, a predicate and an object . A set of such tr iples is called an RDF graph . T his can be illustrated b y a node and directed -arc WEB SPECIFICATION PAGES … CONTENT SUBJECT RDFGRAPH RDF RDF VOCABULARY SET NAT BOOL METADATA XML STRING XMLNSPACE SEMANTICPAGE SPARQL QUERY ONTOLOGIES OWL VOCABULARY ONTOLOGYHEADER TRIPLE URI RESOURCE CLASS PROPERTY OBJECT COMPLEX CLASS OWL 4 diagram, in which each tr iple is represented as a node -arc -node link (hence t he term graph). Each triple rep resents a statement o f a relations hip between the things denoted by the nod es that it links. The directio n of the arc is significant: it al ways points toward the object. The following figure represents an RDF triple. Fig. 2. RDF triple The above ca n be captured in a CafeOBJ m odule as: 1. mod! TRIPLE { 2. pr(SUBJECT) 3. pr(OBJECT1) 4. pr(PREDICATE ) 5. [triple] 6. op rdftriple : subject predicate object - > triple} The first line si mply denotes that this is a module with t ight se mantics na med TRIPLE, while the fifth line states t hat the name of t he sort that this module defi nes will be triple ( note that it is not necessar y to use t he sa me name for the module and its sor t). Lines 2, 3 a nd 4 import some modules, b y p rotecting t hem, which ar e predefined and n eeded for the declaratio n o f the oper ators that will construct the sentences of the module. Final ly, in the last li ne we define a n operator, the constructor of the sort triple, rdftripl e that ta kes as ar guments the sorts subject , predicate and object (as declared in the imported modu les) and returns the sort triple . Let us see a sec ond module that is a little mor e complex. mod* RDFGRAPH { pr(SET(TRIPLE {sort Elt - > triple}) *{sort Set - > rdfgraph, op empty - > empttr})} This module is in teresting be cause it is a view of a par ameterized module. Here, we firstly import the parameterized module SET . T his describes an arbitrary set whose ele ments are called Elt , a sort denoting an arbitrary ele m ent . W e also as k from CafeOBJ to create a module with t he name RDFGRAPH . This will also d efine a set b ut instead of arbitrar y elements it will have triple as elements. Finally, the sort of t his module will be rdfgraph and the consta nt t hat describ es an e mpty graph will be Predicate Subject Object 5 called empttr . T his specifica tion captures the es sence o f a n rdf graph as defi ned above. Applying the same methodolog y pr esented here and having as a ta rget to descr ibe realistically the technologies of the Se mantic Web we have created the r est of the modules of our spe cificatio n. In t he left co lumn of the following table, we show so me of t he mod ules that were incl uded in the spec ification o f the Web while in the right side there are so m e of the modules t hat we c onstructed in or der to specify the Semantic Web. Table 1. Modules of the Web and the Semantic We b specification Web modules Semantic Web modules Pages Metadata Content Xml Content’ Uri Urls Triple Filenames Rdfgraph Html-utilities Ontologies Page-vs-Url Owl Url-vs-Filename Resource Document-Root-Mapping Class Property Sparql Semanticpage Apart from creating new modules that describe the Semantic Web we extended some o f the existing modules by ad ding new operato rs. For example in t he module Pages we used the oper ator met that takes a s inp ut a web page and returns its metadata. Some other o perators can be seen in the table bellow: Table 2. Operators of the Semantic Web specif ication Operator’s name Input datatypes Output dataty pes 1 op sameas : individual individual -> owlstatement 2 op subpropertyof : property property -> rdfstatement 3 op unionOf : class class -> complexclass 4 op merged? : uri uri -> Bool The first operator can be used to declare in OW L that two in dividuals are the same, while the second says in RDF terms that one p roperty is a subproperty of another. T he third operato r takes two classes and creates a complex class fro m the unio n of them. The last o perator takes as input t wo U RIs and retur ns true or false if the U RIs are merged or not respectivel y . Two U RIs can be merged if t hey are id entical a nd this is defined by the followin g equation: 6 ceq (merged?(U1,U2)) = true if (U1 = U2) . 3 Future work and conclusions We work towards an abstract specification o f t he Se mantic Web with the help o f algebraic specifications. T he c hoice of the level of abstraction was made accord ing to the initial spec ification of t he W eb, so that the two specifications will be as coherent as possible. We b elieve that th is first modeling can help to better co m prehend how the components o f the se m antic web are combined and operate. Also, with this specification as a basis we ca n verif y p roperties for the Semantic W eb with the help of the OTS/CafeOBJ method [3, 4]. Our work ca n be used to specify t he Social Se mantic Web. In [ 7] it is stated that “ the Social Se mantic Web combines tec hnologies, strategie s and methodolo gies from the Semantic Web, social software and the Web 2.0 ” . It seems natural, the specification of the Social Se mantic Web to be a combination of the speci fications of these three s ystems. T he means o f formally combining t hes e entities will be given by the protocol co m position meth od proposed in [ 8]. References 1. Diaconescu, R., Futatsugi, K.: Logical foundations of CafeOBJ. Theoret. Comput. Sci. 285, 28 -- 318 (2002) 2. CafeOBJ official homepage, http://www.ldl.jaist.ac.jp/cafeobj/ 3. Diaconescu, R. , Futatsugi, K.: CafeOBJ Rep ort: the Language, P roof Techniques, and Methodologies for Object-Orien ted Algebraic Specification. AMAST S eries in Comput ing, Vol. 6, World Scientific, Singapore, 1998. 4. Diaconescu, R. , Futatsugi, K., Iid a, S.: Component -based algebraic speci fica tion and verification in CafeOBJ. In: Wing, J.M., Woodco ck, J., Davies, J. (eds.) F M’99. LNCS, vol. 1709, pp. 1644 -- 1663, Springer, Berlin, (1999) 5. Goguen, J., Roşu, G.: Hiding more of hidden algebra. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM’99. LNCS, vol. 1709, pp. 1704 -- 1719, Springer, Berlin, (1999) 6. Goguen, J.,:Order -Sorted Algebra I: Equational Deduction for Multiple Inher itence, Overloading, Exceptions and P artial Op erations. Electronic Notes Theor. Comp. Science 105, pp. 217-273, 1992. 7. http://en.wikipedia.org/wiki/Social_Semantic_Web 8. Ouranos, I., Stefaneas P. : Towards a protocol algebra based on algebraic specifications (draft) 9. Paine, J.: An example of algebraic Web Specification http://www.j-paine.org/web2.html , 10. http://www.w3.org

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment