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 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 SemanticWeb applications developer HTTP POST Web Browser HTTP GET Application RDF (XML) Presentationcode HTML, XHTML, Flash... a a’ b user5 user3 Semanticagents Web Browser F-Plugins developer user1 F-Plugins semantic data VPOETGG end-user user4 Web Browser De v eloper s End-User s OMEMO wikipages VPOET wikipages General audience specialized knowledge SemanticWebtechs. 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 namespacev) ( Common Ontologies namespaceszN) ( Client description Ontology (namespacea) 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