VPOET: Using a Distributed Collaborative Platform for Semantic Web Applications

This paper describes a distributed collaborative wiki-based platform that has been designed to facilitate the development of Semantic Web applications. The applications designed using this platform are able to build semantic data through the cooperat…

Authors: Mariano Rico, David Camacho, Oscar Corcho

VPOET: Using a Distributed Collaborative Platform for Semantic Web   Applications
VPOET: Using a Distributed Collab orativ e Platform for Seman tic W eb Applications Mariano Rico 1 , David Camacho 1 , and O scar Co rcho 2 1 Escuela Pol it ´ ecnica Sup erior. UA M. { Mariano.Rico, David.Camacho } @u am.es 2 Ontolog y Engineering Group. Departamento de Inteligencia Artificial. UPM. ocorcho@fi .upm.es This pap er describ es a distributed collab ora tiv e wiki-based platform that has bee n designed to facilitate the developmen t of Semantic W eb applications. The a pplications des igned using this platform are able to build semantic data through the c o o per ation of different develope r s and to exploit that sema n tic data. The pap er shows a practica l case study on the applica tion VPO ET, and how an a pplication based on Go og le Ga dgets has b een desig ned to tes t VPOET and let h uman users exploit the s emant ic data created. This practical example can be used to show how differen t Semantic W eb technologies can b e int egrated into a particular W eb application, and how the knowledge c an b e co op eratively improv e d. KEYWORDS: Distr ibuted colla bo rative systems, Semantic W eb, Wiki a r- chit ectures 1 In t ro duction One of the key asp ects of the Semantic W eb [2, 6] is that softw are agents or applicatio ns a re able to “unders tand”the meaning o f conten ts sp ecifica lly designed for them. The Semantic W eb is made pos sible using a set of standards like RDF(S) [7, 3], OWL [1], or SP ARQL [8], among other s. In the Semantic W eb r esearch a rea, the concept of semantic information represents knowledge that can b e automatically analysed with no (or mini- mal) ambiguity . T o av oid any p o ssible ambiguit y , the Semantic W eb standards hav e b een de s igned using lo gic-based formalisms and o nt ological repr e sent a- tions. F or example, there ar e a set of Description Logic r e asoners that ca n b e used to p erform inference s with OWL mo dels. On the other ha nd, different knowledge s ta ndard represe n tations, named ont ologies, hav e been designed to formally describ e the exact meaning of a par ticular co ncept. An ontolo gy is a set o f formal definitions ab out a particular do main. Although ther e exis t other s tandards and for malisms to r epresent ontologies, the most p opular in the W eb is OWL which is ba sed in the definition o f c lasses , pro pertie s , 2 Mariano Rico, David Camacho, and Oscar Corc ho indivi duals , and rela tionsh ips betw een them. F or exa mple, the F r iend Of A F riend(F OA F) o ntology can b e used to define the Person and Org anization classes; the name, surna me and email prop erties; and the knows r elationship (applicable to individua ls b elonging to the Person class). The FO AF ontology comprises definitions, that is, no instances ar e declared for a n y defined cla ss. Ontologies and data are identifi ed by a namespace. The evolution of the Se ma n tic W eb is dir ectly joined to ontologies and semantic technologies success. Ther e are curr en tly ab out 11,0 00 ontologies av ailable on the Internet [10, 4], and the semantic da ta has exp erimented an exp onential gr owth fo r the last ten years [5]. Howev er this high-quality in- formation r emains hidden to most end-users , developer s , and ev en softw a re agents, b ecause ther e are only some few applications able to manage with this semantic data . Two ma in pro blems can be analysed to ex plain this current situation. On the one hand, the increa sing difficult y to desig n ada ptable and easily r eusable W eb applications where a wide set of W eb tec hnologies and progra mming languages , suc h a s HTML, Jav ascript, CSS, DHTML, Flash, or AJAX, need to b e used, conv erting g r aphical-desig ners in skilled pro grammers as p ointed in [9]. On the other hand, the complexity of Semantic W eb tech- nologies requires a very sp ecialis ed knowledge. F or instance, the pro cess of creating ontologies using OWL needs from domain exp erts and OWL specia l- ists in or der to “transfer ” the exp erts’ know-ho w in to a specific OWL ontology . Therefore, the correct design of a semantic w eb a pplica tion needs fro m a wide set of differ en t sp e cialised exp e r ts. This pap er pr op oses a new approa ch to solve some of the prev io us pro b- lems. Our a pproach is ba sed on a particula r metho dology used to simplify the creation of Semantic W eb Applications using a wiki-based approach, one of the most successful collab ora tiv e environmen ts for the last years. Unlike common wikis, oriented to co n ten ts creation, some wikis ca n b e used to functionality creation, in a collab ora tiv e w ay for develop ers. This pa per is structured as follows. Section 2 shows our metho dolog ic al approach to design se ma n tic applica tions bas ed on wik i technologies. Sec- tion 3 descr ibe s VPOET, a semantic applica tion that implements the pr evi- ous methodo logy . Section 4 describ es a practical case study that exploits the communications channel provided b y VPO ET. Sectio n 5 shows how to g et the bes t fitted visualisation of a semantic data element for a given user profile. Finally , Sec tion 6 summaris es the co nclusions and future work. 2 Distributed Metho dology for Seman tic Co op erativ e-based W eb applications Int eraction with human user s, showing semantic data, or requesting data that will hav e to b e conv er ted to semantic data, is a corners tone of the Semantic W eb. Our w ork fo cuses on a technological approa ch, providing developer s with a simple and collab ora tive progr amming framework in o rder to simplify the Using a Distributed Collaborative Platform for Semantic W eb Apps. 3 pro cess o f creation of semantic web applica tions. As a pro of-o f-c oncept, we present a real s emantic web applicatio n that uses the aforementioned fra me- work in order to v alidate the tec hnological appro ach. Next s ubs e ctions give the detail of this approach and a co ncrete implemen tation. 2.1 Designi ng a pl atform based in con tribution for seman tic applications de v elo p ers Unlik e recent effor ts to crea te wiki-bas e d technologies that allow editing se- mantic data (so -called se mant ic wikis, like Semantic Mediawiki, IkeWiki, o r ODEWiki) in our approa c h w e go a little bit further and allow users to crea te easily and collab ora tiv ely pieces of co de that can be included in Semantic W eb applica tions. This technological appro ach do es no t require developer s with skills in multiple languages and technologies, but just wik i ess e n tials, and basic skills on a prog ramming language a nd semantic web technologies. F or this kind o f develop ers, and for a concrete wiki-e ngine called JSPWiki 3 , we hav e cr eated a soft ware fr a mework called F or tunata . This soft w are ex - ploits plugins , softw ar e pieces that ex tend a given functionality . In this case, our plugins extend the functionalit y o f a n op en-softw a re wik i. Applications de- signed under this archit ectural par adigm le t develop ers to cr eate functionalit y in a decentralised wa y . T r aditional development centralises the so urce co de. Therefore, extending functionalit y typically req uires acces sing the source co de and compile. The res ult is a new v ersion of the application. How ever, plug ins let members o f a communit y to contribute creating new functiona lit y with a minimal deg ree of dep endence. When a develop er ha s crea ted and tested a new plugin, the so urce co de is sent to the wiki administra tor. If the code is co nsidered v alid and safe, it is compiled a nd added to the wiki eng ine. Unlik e traditio nal developmen t environments, this additio n do es no t require to chec k for dep endencies o r co mpiling the who le a pplication co de. E ven, in our system, it can b e done while the application is running. Semantic web techn ologies provide us an additio na l adv antage: simpler da ta integration. F or tunata-based applica tions compr ise a s et o f plugins manag ing a s emantic data so urce. These applica tions can integrate easily semantic data from o ther F or tunata-based a pplications. 2.2 Applying the arc hitectural asp ects to real applications As a res ult of applying this a spe ct, different r oles app ear for b oth develop ers and end- users. Figure 1 shows a clear separa tion betw een end-us ers, develop- ers, and semantic ag e n ts, as well as different roles that ar e introduced b elow. The architectural asp ect r esults in two different kinds o f develope r s, as are shown in figure 1. T able 1 shows the a ctivities and r equirements of these 3 See http://jspwik i.org 4 Mariano Rico, David Camacho, and Oscar Corc ho OMEMO user user2 Fortunata VPOET Servlet SemanticWeb applications developer HTTP POST Web Browser HTTP GET Application RDF (XML) Presentationcode HTML, XHTML, Flash... a a’ b user5 user3 Semanticagents Web Browser F-Plugins developer user1 F-Plugins semantic data VPOETGG end-user user4 Web Browser De v eloper s End-User s OMEMO wikipages VPOET wikipages General audience specialized knowledge SemanticWebtechs. knowledge VPOET user ("Visualization provider”) Fig. 1. Involv ed roles in the prop osed system users. User1 plays the ro le of “semantic web a pplications developer”, provid- ing with F ortunata-based plugins (F-plugins in figure 1). A different kind o f developer is r epresented b y user 5. She do es not contribute with plugins, but takes adv antage of the semantic data created by user1 ’s applications . As a proo f-of-concept, we have created some F ortunata-base d applications. In this pap er we fo c us on VPOET. Let us see a brie f description of this application and how it benefits from the metho dological asp ect. VPOET ena ble end-users, denoted “ visualisation providers”in this con- text, to cr e ate visualisatio n templates for a given ontology element, no t only to show semantic data (output templates ) but to request da ta from the user (input templates). These templates can b e crea ted b y any user with basic skills in client-side technologies, such as HTML or J av a script, using s imple macr os provided in VP O ET. Visualiz a tion providers can get information ab out the ontology element r eading the wiki pages gene r ated by another F ortunata- based application, or rea ding other ma n ually created wiki pag es refere ncing to these pages. In fig ure 1 , user3 r epresents this k ind of user . Besides cr eating the visua lisation template, visualisa tion providers indicate the features of their templates using for ms, sp ecifying details such as template t yp e (input o r output), b ehaviour in ca se of changes to the fo nt size, sizes (pre- ferred, minimum, max imum), co de- type provided (HTML, Jav ascript, CSS), or dominant colours . As a n y other F ortunata-based application, all the gen- erated information is published as semantic data , so that it can b e us ed by semantic agents. Besides, a HTTP GET/P OST channel has b een crea ted to get access to the sema n tic data. Figure 1 shows this channel in the cas e of VPOET, and how it is exploited by develop ers like user 5. F or testing purp oses, Using a Distributed Collaborative Platform for Semantic W eb Apps. 5 T abl e 1. D escription on the roles in th e prop osed system Role Activities Requirements user1 F-plugins developer. Uses the F ortunata framew ork to create semantic plugins Basic ja va progra mming skills user5 Semantic W eb app lications developer. Uses the HTTP channel provided by VPOET Basics of HTTP in any p ro- gramming language user2 OMEMO user. Any user interested in ob- taining a simple and t ex tual description of the elemen ts in a given ontology None user3 VPOET user. Clien t side graphical d e- signer Requires b asics of clien t side technolo gies user4 VPOET-GG end-user. A ny user interested in providing a visualisation of a semantic data source None we hav e exploited this channel creating a Go og le Gadget c a lled GG- VPOET. End users like user4 use GG-VPO ET to render a semantic data source under a concrete visualisation template. Other applica tio ns can ex ploit this c hannel. F or example, w e are using this channel to query for the mo s t appr opriated visualisation for a given user profile. This exp erimental user profile co n tains data a bo ut the interactive impair men ts of the user, its interaction device, or its aesthetic preferences. 3 Using V POET VPOET lets user s create visualisa tio n templates for any on tology element. Although VPOET can b e used by an y user with basic skills in client side-s ide web technologies, it has been created to let professio nal graphical-desig ners author attractive desig ns ca pable of rendering seman tic data. Users of VPOET are denoted “visualis ation pr oviders”(VPs). F rom an end- user p oint o f view, this application is like an y other web applica tion, with form elements like text fields, radio buttons, or buttons. VPs just hav e to follow an o nline tutorial to start creating templates. The pro cess to create a template starts targeting an ontology element. F or example, the next subsection rep orts on a use case that follows the tutorial aforementioned, in whic h the elemen t P erson from the FO AF on tology v ersion 20050 403 is targeted. The pr o cess to c r eate the template compris e s these steps: 1. Getting informatio n ab out the structure of the tar g eted element. That is, to know which sub-elements c o mprise the element . The visualisation 6 Mariano Rico, David Camacho, and Oscar Corc ho T abl e 2. Main macros a v ailable for visualisation providers in VPOET. Macro Arguments Explanation OmemoGetP propName It is substituted by the prop erty v alue propName OmemoBaseU RL No arguments It is substituted by the UR L of the server in which VPOET is runn ing OmemoCondi tionalViz For propName, designerID , designID Renders the p roperty propName only if it has a v alue, u sing the template indicated OmemoGetLi nk relationNa me It is substituted by a link capable of dis- pla ying elemen ts of the type p ointed by the relation relationName provider obtains this information rea ding wiki pages automa tica lly gener- ated by OMEMO (user2 in figure 1), other F o rtunata-based applica tion. 2. Authoring a gr a phical design in which semantic data will be inserted. End-users are free to use their fav our ite web authoring to ol. 3. Cho os e a n identifier (ID) to create a wiki page with that ID. T his wiki page shows information ab out the VP and its templates stored. 4. The graphical design co mprises a set of files (imag es, and client-side co de such as HTML, CSS, o r jav ascript). The clien t-side co de is copied-pasted in the appro priated form fields. Imag e files o r“included”files m ust be up- loaded to the pr ovider wiki pag e, or uploaded to a n y web server. In any case, the client co de m ust p o in t correctly to thes e files. 5. A test lo op starts, using sema ntic-data sources (t ypically exter nal to VPOET) containing instances of the targeted element. a) Paths (relatives or absolutes) m ust b e substituted by means of a s pe- cific macro. b) Sema n tic data are inser ted using s pecific macros. c) The desig n is tested a g ainst the test data sour ces d) This lo op finish when the design pr o duces a successful visualisa tion for all the semantic test data sources . 6. The desig n is characterized b y its creator , providing info a bo ut the tem- plate features, such as type, color s, size p o licy , o r font changes b ehavior. Most of the effort r equired to cr eate a template is lo cated in the test lo o p, esp ecially in the ins e r tion of macr os. The table 2 shows the most relev a n t macros av ailable in VP OET, the arguments each macr o r equires, and a brief explanation of each macro. VPOET has b een designed to let its user s reuse their templates. This is achiev ed us ing : (1 ) the co nditio na l render ing of a pr op erty (using the macr o OmemoC onditi onalVizFor ) and (2) links capable of displaying the destination element of a relation (macr o Omem oGetLin k ). A detailed e x planation, and usage examples, c an b e found at h ttp:// ishtar .ii.uam.es/fortunata . Using a Distributed Collaborative Platform for Semantic W eb Apps. 7 T abl e 3. Parameters accepted in th e HTTP GET/POST requ est. P arameter V alue Explanation/Example action renderOutp ut Request a visualisation for the elements object in the data source given in parameter object renderInpu t Request a visualisation to requ est data for the el- ement object from the user ob ject prefix.class[.v er] Example: foaf.P erson prefix.relation[.v er] Examp le: foaf.firstName source (GET only) URL URL of the semanti c data source [ provider ] ID Identifier of the visualization p ro vider. F or exam- ple: user3.test outputF ormat HTML Default v alue XHTML XHTML is used by W AP 2.0 mobile ph ones [ userProf ile ] (GET only) URL URL of the RDF d ata source with the u ser p rofile 4 Using t he HTTP chan nel in V POET Although the informatio n stored in VPOE T is published as s emant ic data reachable throug h an URL that can be used by semantic agen ts, an additional channel to let non-sema n tic users access this information ha s b een created. It has b e en implement ed a s a ser vlet that let users make HTTP GET/ POST requests with v aria ble par ameters in order to facilitate queries like “get an out- put visualisa tion created by pr ovider X for the element foaf.Person.20 05060 3 for the semantic data at URL Y”. The c omplete sy ntax is shown in T able 3. When the GE T metho d is used, the par ameter source must b e provided to indicate where semantic data source can be fo und. In the other hand, when POST metho d is used, the parameter sour ce is not ne c e ssary because the semantic data must be contained by the HTTP message. If the pa r ameter provid er is not provided, VPOET will retur n the “b est visua lisation”given the user pr o file p ointed by parameter u serPro file . When there is no template for a r equested e lemen t, a defa ult v is ualisation is provided. An F ortunata-bas ed application, ca lled MIG, provide users with a form (in a wiki pa ge) to sp ecify the user profile . As any F ortunata -based applicatio n, this information is public and accessible. The HTTP messages with the sp e cified syntax can b e se n t to VPOET by other programs (agents) written in any pr ogramming langua g e, or by jav a script applications executed in a web br owser. How ever, browsers ar e more limited than other a pplications b ecause they suffer security r estrictions due to communication is r e stricted to the server which holds the web application. How ever, our approach do not hav e this pr oblem because co mm unications are centralised by F o rtunata. T o let final users explo it this channel, a Go o gle Gadget has b een imple- men ted, as w as show in figure 1. In this figure, user4 use this gadget in its w eb 8 Mariano Rico, David Camacho, and Oscar Corc ho Fig. 2. Using GG-VPOET in different application oriented to end - users. In clock- wise: a p ersonal page, Go ogle Desktop, iGo ogle, and Go ogle P ages pages, or in s ome Go ogle pro ducts, such as iGo ogle, Go o gle Pages, or Go og le Desktop. This g adget is configured providing the same information that was provided fo r the test phase. Fig ure 2 shows this gadg et in action using a n output template for foaf:Person. 5 Matc hing the user profile and the VPOE T seman tic templates Let us suppos e that VPOET contains different templates for foaf.Pe rson , and an e x ternal a pplication requesting a foaf .Perso n templa te through the HTTP channel. VPOE T should return “the most adequa te”template for a given user pr ofile. An ex ample of this matching pro cess is depicted in figure 3. Each ontology , identified by a namespa ce, is shown as a c lo ud. The ele- men ts of the ontology , and their individuals, are shown inside its clo ud; with ontology elements and so me individuals ins ide the c loud. The left part of this figure shows the ontology describing the us e r pr ofile, characteris ed by namespace a . In this example, the user identified a s a:user34 has the follow- ing pro file: (1) uses a W AP 2 mobile phone as int eraction device, (2) pr e fer s simple aesthetics and (3) he/s he is daltonic (colour-blindnes s a sso ciated to red-gre e n colours). In cen tre pa rt of figure 3, public well-known on tolo gies ar e shown. O n tology z 1 indicates that the proto co l W AP2.0 is c o dified a s XHTML. F or o n tology z 3 ,“minimal”and “s imple”are differ e n t kinds of styles but semantically close . Ontology z 5 has a visual-impair ment s hierar ch y . The right part of figure 3 shows the VPOE T ontology , with namespace v . In this ontology , the template identified as v:design67 is co dified using the Using a Distributed Collaborative Platform for Semantic W eb Apps. 9 VPOET Ontology namespacev) ( Common Ontologies namespaceszN) ( Client description Ontology (namespacea) Aesthetic Preferences Device's Characteristics User's Characteristics a:simple a:mobile a:daltonism {z3:minimal, z3:simple} z1:XHTML z5:PartialColorBlindness z5:Dichromacy z5:Deuteranopia z5:Protanopia z5:Tritanopia v:minimalistic v:XHTML v:red owl:sameAs owl:sameAs owl:oneOf z1:WAP 2.0 a:usesProtocol a:WAP2 a:prefersAesth a:user34 a:usesDevice a:hasCharacterists z1:codification z3:style owl:sameAs v:design67 v:codificationLang owl:sameAs v:primaryAesthetic owl:sameAs z4:sameColor {z4:red, z4:green} {z4:yellow , z4:blue} z4:sameColor v:primaryColor v:secondaryColor v:yellow Fig. 3. Matching process to find a visualisation template from a given user profile XHTML languag e, its prima ry ae sthetic is minimalistic, a nd it has red a nd yello w as primary and secondary colours. With just this semantic information, it is imp oss ible to find that v:design67 is even a v alid template for a:user34 . An additional semantic data so urce is required in order to link elemen ts b elonging to differen t on tologies. These links use to b e “sameAs” 4 relations, shown as disc o nt in uous bold arrows in figure 3 . Joining all this semantic info r mation, a semantic ag en t can make a semantic query (e.g., using SP AR QL la ng uage) based in the use r profile, like this one: “select a template with these characteristics : (1) codified in XTHML, (2) with minimalism a s chief aes thetic, and (3 ) with prima ry colours avoiding red and green tones for text and background”. F or this example, the r esult o f this query would b e the desig n v:design67 . Additional res tr ictions can refine the query to g et the “most adequate”template for a g iven us er pr ofile. 6 Conclusions and future work The work pre sent ed in this pap e r aims at providing developers with a simple and colla bo rative pro gramming framework i order to simplify the pro cess o f creation of s emantic web applicatio ns. Developer s require (1) development en- vironments simple and colla bor ative, (2) facilities fo r reuse of the contributed functionality , and (3 ) minimal depe ndencies b etw een contributors. T o achiev e these req uir ement s, we hav e taken adv antage of an op en so urce wiki- engine. W e hav e developed a jav a library ca lled F o rtunata in or der to facilita te devel- op ers the creation of plugins with semantic ca pabilities. As a pro of-of- c o ncept, 4 T echnically there are three types: owl:s ameAs, owl:equiv alen tClass and o wl:equiv alentPro p erty to distinguish in dividuals, classes, and prop er- ties/relatio ns resp ective ly . 10 Mariano Rico, David Camacho, and Oscar Corc ho some applica tions hav e b een built using F ortunata . VPOET is an exa mple of one of these a pplications. F ro m a developer’s p ersp ective, we cons ide r that the tar geted require- men ts concerning developers are successfully accomplished by the selected wiki-engine. Howev er, it must be noticed that this is the r esult o f our exp eri- ence for some co nc r ete applicatio ns. Co ncerning end- users, these applica tions are in tended for a wide audience with no pre v ious tra ining in pr o gramming or semantic web technologies. This o b jective has b een achieved be means of forms a nd simple macros , a nd exp eriments with end-us ers (not describ ed in this pap er) c o nfirm it. These are the initial s teps tow ar ds a semantic a gent capable of providing an automatic generation of the us er in terface. This agent ca n use the da ta provided by VPOET in o rder to a dapt the user interface to the user’s pro- file (device used, user ’s impairments, a nd a esthetic preference s). Ma n y op en asp ects remains op en: comp osition of templates, or int eraction b etw een tem- plates, among other s. The a rchitecture s hown in this pap er can pro vide de- velopers with a simple but powerful infrastructure to achiev e these long-term ob jectives. References 1. S. Bechhofer, F. van Harmelen, J. Hendler, I. Horrocks, D. McGuinness, P . P atel-Schneider, and L. S tein. OWL W eb Ontology Language Reference. technical report http://www. w3.org/TR/ 2004/REC- owl- re f- 20040210/ , 2004. 2. T. Berners-Lee, J. Hend ler, and O. Lassila. The semantic w eb. Scientific Amer ic an , 284(5):28 –37, 2001. 3. D. Bric kley and R. Guha. RDF V ocabulary Description Language 1.0: RDF Schema. W3C Recommendation 10 F eb ruary 2004. technical rep ort http :// www.w3.org /TR/rdf- schema/ , 2004. 4. L. Ding, T. Finin, A. Joshi, R. Pan, R . Cost, Y. Peng, P . Redd iv ari, V . Doshi, and J. Sachs. S woogle: a search and metadata engine for t h e semantic web. Pr o c e e dings of the T hirte enth ACM c onf er enc e on Information and know le dge management , pages 652–659, 2004. 5. T. Finin and L. D ing. Search engines for semantic w eb k now ledge. In Pr o c e e d- ings of XT e ch 2006: Buildi ng Web 2.0 , 2006. Amsterdam, 16-19 May 2006. 6. I. Herman. The Semantic W eb home page. see http://www.w 3.org/2001 /sw/ . T echnical rep ort, W3C, 2006. 7. G. Klyne and J. Carroll. Resource Description F ramew ork ( R DF): Concepts and Ab stract Syntax. http://www. w3.org/TR/ rdf- concepts/ . T echnical re- p ort, W3C, 2004. 8. E. Prud ’hommeaux and A. Seab orne. S parql query language for rd f. T echnical rep ort, W3C Candidate Recommendation 14 Jun e, 2007. 9. R. Ro chen, M. Rosson, and M. P´ erez. End user Development of Web Applic a- tions , chapter 8, pages 161–182. Springer, 2006. 10. R. H. W arren and C. O. J. Bak er. Ontologi es: Where are we at? In Know le dge- Base d Bioinformatics Workshop , Montreal, Qu eb ec, Canada, S ep tem b er 2005. P oster.

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment