Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Exploiting Semantic Web Techniques For Representing And Utilising


Published on

This presentation focuses on understanding different Semantic Web technologies in order to represent folksonomies.

Published in: Technology
  • Be the first to comment

Exploiting Semantic Web Techniques For Representing And Utilising

  1. 1. Exploiting Semantic Web Techniques for Representing and Utilising Folksonomies<br />Owen Sacco<br />
  2. 2. page 1<br />Presentation Map<br />
  3. 3. page 2<br />Presentation Map<br />Introduction<br />Aim & Goals<br />The Semantic Web<br />Meta Formats, Vocabularies & Query Language<br />Web 2.0<br />Web 2.0 Technologies & Applications<br />Folksonomies<br />Tags, Tagging, Representing Tags Semantically & Integrating Folksonomies with the Semantic Web<br />
  4. 4. Presentation Map<br />Graph Mining Techniques<br />Fast Unfolding of Communities in Large Networks<br />State of the Art Tool<br />Examining the Edge List<br />The Community Structure Ontology<br />Jena & Corese<br />Creating & Querying RDF Statements<br />Analysis & Results<br />Conclusion<br />Enhancements & Future Work<br />page 3<br />
  5. 5. Introduction<br />page 4<br />
  6. 6. Introduction<br />The research is about:<br />Understanding various Semantic Web technologies for representing data semantically<br />Understanding Folksonomies and how to semantically represent them<br />To semantically represent tags retrieved from Bibsonomy ( <br />The tags have been hierarchically structured using the algorithm “fast unfolding of communities in large networks”<br />Use Semantic Web technologies to create and exploit such representation of tags<br />page 5<br />
  7. 7. The Semantic Web<br />page 6<br />
  8. 8. The Semantic Web<br />page 7<br />What is the Semantic Web?<br />Not a separate Web <br />An extension of the current Web<br />Semantic = Meaning<br />Semantic Web = Meaningful Data<br />Meaning is data about data, i.e. Metadata<br />Advantages of Semantic Web:<br />Information is given well-defined meaning <br />Better enabling computers<br />People to work in cooperation Source: W3C Semantic Web<br />
  9. 9. The Semantic Web<br />Resource Description Framework (RDF)<br />A framework that describes resources on the WWW<br />Suitable for merging data on the Web<br />Resources are uniquely identified by URLs<br />The RDF Model is made up of triple statements<br />Triple Statements: Subject, Predicate & Object<br />page 8<br />PREDICATE<br />SUBJECT<br />OBJECT<br />
  10. 10. The Semantic Web<br />An RDF Model can be serialised in RDF/XML<br />An example of RDF document<br /><?xml version="1.0"?> <br /><rdf:RDFxmlns:rdf="" xmlns:contact=""> <br /><contact:Personrdf:about=""> <contact:fullName>Eric Miller</contact:fullName> <contact:mailboxrdf:resource=""/> <contact:personalTitle>Dr.</contact:personalTitle> </contact:Person> <br /></rdf:RDF> <br />Source: W3C RDF Primer<br />page 9<br />
  11. 11. The Semantic Web<br />Ontology<br />“A formal explicit specification of a shared conceptualisation”<br />In other words: parties having a common concept of data agree and specify clearly as possible such concepts<br />It is an enabling technology for information sharing and manipulation<br />A vocabulary for RDF documents<br />Ontologies are based on RDF models and are expressed by using the Web Ontology Language <br />page 10<br />
  12. 12. The Semantic Web<br />SPARQL – An RDF Query Language<br />Query in the Semantic Web context means: “Technologies and protocols that programmatically retrieve information from the Web of Data”.<br />Based on triple patterns similar to RDF triples<br />A query returns resources for all RDF triples that match the query’s pattern<br />Is used to return complex data for mash-ups or search engines containing semantic data<br />Syntax is similar to SQL<br />Source: W3C<br />page 11<br />
  13. 13. Web 2.0<br />page 12<br />
  14. 14. Web 2.0<br />A “Read/Write” Web<br />Web 2.0 has:<br />Facilitated web design<br />Provided attractive, rich, easy-to-use interfaces<br />Assisted in reuse of data by merging information from various sources<br />Created social networks of people<br />According to Internet World Stats, between 2000 and 2003 users doubled thanks to Friendster (one of the first social network websites)<br />Source: Internet World Stats - Internet Growth Statistics<br />page 13<br />
  15. 15. Web 2.0<br />Web 2.0 is considered a Social Web<br />People are more involved by collaborating & sharing data<br />One of the major Web 2.0 technologies for web development is AJAX<br />A combination of several technologies:<br />HTML or XHTML<br />Cascading Style Sheets (CSS)<br />Java Script<br />XML<br />page 14<br />
  16. 16. Web 2.0<br />Web 2.0 created new application concepts:<br />Blogs (Blogger, WordPress)<br />Wikis (Wikipedia)<br />Really Simple Syndication, RSS<br />Mashups (MusicMesh, BBC Music)<br />Social Networks (Facebook, LinkedIn, MySpace)<br />Social Bookmarking (delicious, Bibsonomy)<br />Photo Sharing (Flickr)<br />Video Sharing (YouTube, Vimeo)<br />In most of these concepts you find Tagging!<br />page 15<br />
  17. 17. Folksonomies<br />page 16<br />
  18. 18. Folksonomies<br />Tag<br />“A non-hierarchical keyword or term”<br />Tagging<br />“Assign a tag to a piece of information or resources”<br />Tagger<br />“The person that assigns the tag”<br />Folksonomy<br />“The result of personal free tagging of information and objects for one’s own retrieval. The tagging is done in a social environment.” Thomas Vander Wal (2004)<br />page 17<br />
  19. 19. Folksonomies<br />Tag Cloud<br />a visualisation of popular tags <br />popular tags stem out from others by being in larger font or emphasised<br />page 18<br />
  20. 20. Folksonomies<br />page 19<br />Where can we tag?<br />Social Bookmarking websites<br />
  21. 21. Folksonomies<br />Picture sharing websites<br />page 20<br />
  22. 22. Folksonomies<br />Video sharing websites<br />page 21<br />
  23. 23. Folksonomies<br />Why tagging?<br />It’s Popular<br />Nowadays, practically anyone who uses a computer or the Internet is exposed to tagging in some way.<br />It’s Social<br />Through the most popular tags, we can see a kind of rough consensus on the subject of the resource.<br />It’s Flexible<br />Ad-hoc, free-form and does not adhere to any strict classification scheme or vocabulary.<br />page 22<br />
  24. 24. Folksonomies<br />Basic Model<br />Taggers create the tags, and sometimes they add resources.<br />If we can identify something, then it can be tagged.<br />Tagging is open-ended, tags can be any kind of term.<br />page 23<br />Source: Smith G. 2008. Tagging People-Powered Metadata for the Social Web<br />
  25. 25. Folksonomies<br />How about:<br />Collaborative sharing tags across multiple applications<br />Collaborative filtering based on tagging<br />Connecting people based on tagging<br />All these can be achieved through Tag Ontologies<br />Ontology is not a taxonomy<br />Ontology makes semantic agreement<br />Semantic agreement enables useful composition<br />page 24<br />
  26. 26. Folksonomies<br />Richard Newman’s Tag Ontology<br />page 25<br />Source: Haklae Kim et al., Review and Alignment of Tag Ontologies for Semantically-Linked Data in Collaborative Tagging Spaces<br />
  27. 27. Folksonomies<br />Tom Gruber’s Conceptual Model<br />Tagging(object, tag, tagger, source, + or -)<br />page 26<br />Source: Gruber T., Ontology for Folksonomy: A Mash-Up of Apples and Oranges.<br />
  28. 28. Folksonomies<br />Limitations of tagging:<br />Ambiguity of tags (example: apple is it a fruit or the computer company?)<br />Lack of synonymy (example: lorry or truck)<br />Discrepancies in granularity (example: java vs programming language)<br />Flat Organisation of Folksonomy<br />How do we overcome these?<br />Use: CommonTag, MOAT, SCOT<br />page 27<br />
  29. 29. Folksonomies<br />CommonTag<br />To add concepts to tags from databases such as Freebase and DPPedia <br />page 28<br />Source: CommonTag<br />
  30. 30. Folksonomies<br />Meaning Of A Tag (MOAT)<br />An ontology to represent how different meanings (URIs of semantic Web resources) can be related to a tag<br />Extends the Tag class from Richard Newman’s tag ontology<br />Tagging (User, Resource, Tag, Meaning)<br />Architecture of MOAT Framework:<br />MOAT server stores different meanings that can be queried<br />MOAT client interacts with the server to let users easily annotate their content<br />page 29<br />
  31. 31. Folksonomies<br />Social Semantic Cloud of Tags (SCOT)<br />An ontology aimed to represent set of tags<br />Built on top of Richard Newman’s Tag Ontology<br />page 30<br />Source: SCOT: Let's Share Tags!<br />
  32. 32. Folksonomies<br />Limitations of the previous ontologies:<br />An extra step is being added to the tagging activity<br />Isn’t it daunting for the user when presented with a list of meanings to choose from? <br />Which meaning shall the user choose?<br />Will tagging remain popular with this additional step?<br />If an automatic process is used to select a meaning of a tag, how accurate can this process be? <br />Can this process really understand the user at that instance? <br />page 31<br />
  33. 33. Folksonomies<br />With this additional meaning, isn’t tagging becoming another “strict” classification scheme?<br />Can relationships of tags really be built on meanings?<br />How about using some form of algorithm that can unfold new relationships of tags?<br />page 32<br />
  34. 34. Fast Unfolding of Communities in Large Networks <br />page 33<br />
  35. 35. Fast Unfolding of Communities in Large Networks<br />A recursive method to extract the community structure of large networks<br />This method is based on modularity optimisation<br />The modularity is a scalar value that measures the density of links inside communities as compared to links between communities<br />It unfolds a complete hierarchical community structure for large networks in a short time<br />Results have shown that on a network of 118 million nodes, the algorithm took 152 minutes<br />page 34<br />Source: Blondel V.B. et al. 2008. Fast unfolding of communities in large networks<br />
  36. 36. Fast Unfolding of Communities in Large Networks<br />The algorithm consists of two phases which are iterated until a maximum modularity is attained.<br />First, all nodes are assigned to different communities.<br />Then each node is compared with its neighbours. The node is placed in the community which yields a maximum gain in modularity.<br />This process is repeated for all nodes until no further movement can be attained.<br />The second phase consists of building a network whose nodes are now the communities found during the first phase.<br />page 35<br />
  37. 37. Fast Unfolding of Communities in Large Networks<br />After the second phase, the process starts again with the first phase<br />A “pass” denotes a combination of both passes<br />The “passes” are iterated until there are no more changes and the maximum modularity is reached for the whole network<br />The height of the network denotes in the number of passes<br />At the end, a hierarchical structure is attained that consists of communities of communities.<br />page 36<br />
  38. 38. Fast Unfolding of Communities in Large Networks<br />page 37<br />
  39. 39. State of the Art Tool<br />page 38<br />
  40. 40. State of the Art Tool<br />The Data<br />It is provided beforehand<br />Consists of a hierarchical structure made up of communities of communities of related tags <br />This hierarchical structure is constructed using the “Fast Unfolding of Communities in Large Networks” algorithm<br />The tags are from the Social Bookmarking Website Bibsonomy (<br />The aim for using the community structure algorithm is to unfold new relationships amongst tags<br />page 39<br />
  41. 41. State of the Art Tool<br />A visualisation of tagging graph that depicts the relationships amongst tags<br />page 40<br />
  42. 42. State of the Art Tool<br />The Input to the system will consist of Edge Lists<br />Each Edge List file consists of a pass<br />4 Edge List files were used for this system: <br />The first list is a plain list of related tags queried from Bibsonomy<br />The other three lists denote communities or communities of communities computed from the community structure algorithm<br />Each relation (line) in each of the Edge List file consists as follows:<br />The first edge list: <tagi, tagj, weight><br />page 41<br />
  43. 43. State of the Art Tool<br />The other three edge lists:<br /><communityi, tagj, weight> or <br /><communityi, communityj, weight><br />The Edge List files contain:<br />The first (lower level): 13126 nodes with 264718 edges<br />The second (first pass): 529 nodes with 6337 edges<br />The third (second pass): 65 nodes with 374 edges<br />The fourth (third pass): 50 nodes with 207 edges<br />page 42<br />
  44. 44. State of the Art Tool<br />A sample from one of the edge lists (the lower level file)<br />caching,offlinebrowser,2.0<br />caching,archiving,2.0<br />institutions,activity,1.0<br />malian,senegal,2.0<br />malian,northern,2.0<br />malian,guinea,2.0<br />malian,drummers,2.0<br />cdf,c,1.0<br />cdf,library,1.0<br />page 43<br />
  45. 45. State of the Art Tool<br />First Task: To semantically represent all edge lists that represent the hierarchical structure<br />Since the lower level edge list is made up of a set of tags, then the tags will be described using the SCOT ontology<br />But to represent the hierarchical structure of communities, a new ontology must be designed that needs to be built on top of SCOT and also, the new ontology must be linked to SCOT<br />page 44<br />
  46. 46. State of the Art Tool<br />The Community Structure Ontology<br />page 45<br />CommunityStructure<br />UnfoldedCommunity<br />UnfoldingActivity<br />Community<br />CommunityAggregation<br />linkedIn<br />associatedCommunity<br />linkedWith<br />Linkage<br />name<br />sioc:Resource<br />modularity<br />pass<br />linkedTag<br />communityOf<br />Community<br />linkWeight<br />scot:Tag<br />
  47. 47. State of the Art Tool<br />Ontology was designed with a tool called Protege – A Java application for designing Ontolotgies<br />Ontology built on OWL2<br />Classes: CommunityStructure, Community, CommunityAggregation, Linkage<br />Object properties: associatedCommunity, communityOf, linkedIn, linkedTag, linkedWith, unfoldedCommunity, unfoldingActivity<br />Data properties: communityName, linkWeight, modularity, pass<br />page 46<br />
  48. 48. State of the Art Tool<br />Second Task: To create an application that will transform the edge lists to RDF/XML statements and store the documents on physical storage. Also, a query engine will be included into the application to query the RDF/XML statements.<br />The application is developed using the Java programming language.<br />For the creation of RDF/XML statements and to write such statements to physical storage, a widely used API is embedded in the system. This API is called the JENA API<br />page 47<br />
  49. 49. State of the Art Tool<br />Jena – A Semantic Web Framework<br />Developed by HP<br />An RDF API for reading and writing RDF models in RDF/XML<br />An OWL API for reading and writing OWL ontologies<br />In-memory and persistent storage for writing RDF/XML statements to memory or physical storage such as text files or even relational databases<br />SPARQL query engine<br />page 48<br />
  50. 50. State of the Art Tool<br />The Tool<br />page 49<br />
  51. 51. State of the Art Tool<br />The tool provides the following features:<br />Properties to setup:<br />The Edge List Directory<br />The Edge List File Structure<br />page 50<br />
  52. 52. State of the Art Tool<br />Settings to setup the type of storage required<br />RDF/XML documents<br />page 51<br />
  53. 53. State of the Art Tool<br />Relational database persistent storage<br />A TDB storage, a custom fast persistent storage<br />page 52<br />
  54. 54. State of the Art Tool<br />Properties to setup the Ontologies<br />page 53<br />
  55. 55. State of the Art Tool<br />The Method to transform the edge list to RDF Statements:<br />First, the edge lists are merged together and ordered according to their hierarchical structure<br />Second, the RDF Model consisting of RDF statements are created according to the Community Structure and SCOT Ontologies<br />Third, RDF statements are written according to the settings setup.<br />page 54<br />
  56. 56. State of the Art Tool<br />Writing of RDF Statements<br />RDF Documents:<br />For whole documents: the whole document is written after the whole model is created<br />For split documents: documents are written after the model for each community is created.<br />Two index lists are created, one A-Z and an other to indicate where each community document is located<br />page 55<br />
  57. 57. State of the Art Tool<br />Writing of RDF Statements<br />RDF Persistent Storage<br />RDB Method: MySQL is used as a persistent relational databases and RDF statements are written on-the-fly, i.e. After each statement is created, these are written in the database<br />TDB Method: each statement is written on-the-fly as well<br />page 56<br />
  58. 58. State of the Art Tool<br />Writing of RDF Statements (Results)<br />page 57<br />
  59. 59. State of the Art Tool<br />Querying Statements<br />For RDF Documents Corese SPARQL Engine was used <br />Corese SPARQL Engine is developed by Edelweiss<br />Built on top of Jena with some added enhancements such as Approximated Searches, Select Expressions<br />Queries only RDF documents and does not have the capability of querying directly to relational databases<br />page 58<br />
  60. 60. State of the Art Tool<br />Querying Statements<br />For Persistent Storage, the Jena SPARQL Engine is used since Jena allows for direct querying<br />Querying Methods<br />RDF Documents (Split Documents):<br />First query index lists<br />Get community document<br />Query community document and get linked communities<br />Query index list and query contents for each community<br />page 59<br />
  61. 61. State of the Art Tool<br />Querying Methods<br />RDF Documents (Whole Documents)<br />Query whole model and query for community<br />Retrieve linked communities<br />Query linked communities for their content<br />Persistent Storage<br />Query whole model and query for community<br />Retrieve linked communities<br />Query linked communities for their content<br />page 60<br />
  62. 62. State of the Art Tool<br />Querying Statements (Results)<br />Results are based on a community called malian<br />This community has 57 linked communities and 15 linked tags<br />page 61<br />
  63. 63. State of the Art Tool<br />Other features<br />RDF Document Viewer<br />page 62<br />
  64. 64. Conclusion<br />page 63<br />
  65. 65. Conclusion<br />In this research we have seen the importance of Semantic Web and to describe semantically Web data<br />We have seen the importance of using folksonomies for search and exploration <br />Additionally, we have also seen various ontologies of how such folksonomies can be semantically represented<br />From community structure algorithms and graph mining techniques, new relationships amongst other tags can be unfolded<br />page 64<br />
  66. 66. Conclusion<br />An ontology was designed and developed for the fast unfolding of communities in large networks<br />From this ontology, RDF/XML statements can be created and are linked to the SCOT ontology<br />We have seen that by using Triple Stores, persistent storage for triple statements is much faster for querying<br />page 65<br />
  67. 67. Future Enhancements<br />page 66<br />
  68. 68. Future Enhancements<br />To try this model on larger tag models from different websites<br />To include the tagger and links to the actual resource<br />To analyse these links that contribute to the linked data initiative<br />Optimise writing and querying based on larger models<br />page 67<br />
  69. 69. page 68<br />