enabling cross-wikis integration by extending the sioc ontology

20
Enabling cross-wikis integration by SemWiki 2009 – ESWC (June 1, 2009) Fabrizio Orlandi 1 Alexandre Passant 2 Enabling cross-wikis integration by extending the SIOC ontology 1 Università di Modena e Reggio Emilia 2 Digital Enterprise Research Institute, Galway

Upload: fabrizio-orlandi

Post on 28-Aug-2014

12.365 views

Category:

Technology


0 download

DESCRIPTION

by Fabrizio Orlandi and Alexandre Passant. Presented @ 4th Semantic Wiki Workshop, ESWC 2009.

TRANSCRIPT

Page 1: Enabling cross-wikis integration by extending the SIOC ontology

Enabling cross-wikis integration by

SemWiki 2009 – ESWC

(June 1, 2009)

Fabrizio Orlandi1

Alexandre Passant2

Enabling cross-wikis integration by

extending the SIOC ontology

1 Università di Modena e Reggio Emilia2 Digital Enterprise Research Institute, Galway

Page 2: Enabling cross-wikis integration by extending the SIOC ontology

Interlinking wikisInterlinking wikis

All wikis share a wide common knowledge, but they have All wikis share a wide common knowledge, but they have different structures and implementations, platform dependent.different structures and implementations, platform dependent.

MoinMoin

TWiki DokuWiki

There are lots of wikis and they are all disconnected...There are lots of wikis and they are all disconnected...

Page 3: Enabling cross-wikis integration by extending the SIOC ontology

Many isolated communities of users and their dataMany isolated communities of users and their data

* Source: Pidgin Technologies, www.pidgintech.com* Source: Pidgin Technologies, www.pidgintech.com

Wikis are also disconnected with other Wikis are also disconnected with other

social media websitessocial media websites

Page 4: Enabling cross-wikis integration by extending the SIOC ontology

Interlinking wikisInterlinking wikis

Several semantic models have been implemented and used within specific Several semantic models have been implemented and used within specific

semantic wiki platformssemantic wiki platforms

e.g.:

Semantic MediaWiki

as well as efforts to create generic ontology models:as well as efforts to create generic ontology models:

••WikiOntWikiOnt ontology ontology (DERI)(DERI)

••WIFWIF (Wiki Interchange Format) ontology ontology ((Max Völkel et al.))

e.g.:

But they are all But they are all specific to wikisspecific to wikis and not open to other social websites and not open to other social websites

Page 5: Enabling cross-wikis integration by extending the SIOC ontology

•• A project developed by A project developed by DERIDERI to semantically describe the content and to semantically describe the content and

structure of community sitesstructure of community sites

•• In particular the SIOC ontology is In particular the SIOC ontology is not specific to wikisnot specific to wikis and is and is widely usedwidely used

SIOCSIOC

SemanticallySemantically--Interlinked Online CommunitiesInterlinked Online Communities

•• In particular the SIOC ontology is In particular the SIOC ontology is not specific to wikisnot specific to wikis and is and is widely usedwidely used

on the Webon the Web

•• It aims to create new connections between online discussion posts and It aims to create new connections between online discussion posts and

items, forums, blogs... and wikis.items, forums, blogs... and wikis.

•• Adopted in a framework of more than 50 applications, Adopted in a framework of more than 50 applications,

deployed on over 400 sitesdeployed on over 400 sites

http://siochttp://sioc--project.orgproject.org

Page 6: Enabling cross-wikis integration by extending the SIOC ontology

Extending the SIOC ontologyExtending the SIOC ontology

WeWe decideddecided toto extendextend thethe SIOCSIOC ontologyontology toto makemake itit compliantcompliant withwith wikiswikisandand makemake wikiswikis interoperableinteroperable andand linkablelinkable toto otherother socialsocial objectsobjects..

FirstFirst wewe consideredconsidered thethe typicaltypical andand relevantrelevant featuresfeatures ofof wikiswikis inin termsterms ofofstructurestructure andand socialsocial interactionsinteractions..

ModelingModeling thesethese featuresfeatures usingusing SIOCSIOC wouldwould havehave otherother advantagesadvantages::•• IntegrationIntegration withwith existingexisting SIOCSIOC data,data, asas wellwell asas interlinkinginterlinking withwith otherotherRDFRDF datadata forfor advancedadvanced queryingquerying purposespurposes;;RDFRDF datadata forfor advancedadvanced queryingquerying purposespurposes;;••AbilityAbility toto runrun thethe samesame SPARQLSPARQL queryquery toto findfind itemsitems onon aa particularparticular wikiwikisitesite oror onon aa weblogweblog oror aa forumforum..

Page 7: Enabling cross-wikis integration by extending the SIOC ontology

Relevant wiki featuresRelevant wiki features

•• MultiMulti--authoring:authoring: multiple multiple usersusers editedit the the samesame contentcontent simultaneouslysimultaneously. .

FeatureFeature modeled using the class sioc:Usersioc:User (subclass of foaf:OnlineAccountfoaf:OnlineAccount) as

object of sioc:has_creatorsioc:has_creator that describes a user account in an online community object of sioc:has_creatorsioc:has_creator that describes a user account in an online community

site.

In this way a foaf:Personfoaf:Person can be linked to several sioc:Usersioc:User belonging to different

wiki sites.

Page 8: Enabling cross-wikis integration by extending the SIOC ontology

Relevant wiki featuresRelevant wiki features

•• CategoriesCategories:: setssets ofof articlesarticles onon relatedrelated topicstopics whichwhich areare hierarchicallyhierarchically

organizedorganized..

AA solutionsolution isis providedprovided byby thethe SKOSSKOS vocabulary,vocabulary, asas itit offersoffers aa wayway toto modelmodel

hierarchicalhierarchical structuresstructures betweenbetween variousvarious categories,categories, asas instancesinstances ofof skosskos::ConceptConcept..

HenceHence wewe defineddefined thethe sioctsioct::CategoryCategory classclass asas aa subclasssubclass ofof skosskos::ConceptConcept..

Page 9: Enabling cross-wikis integration by extending the SIOC ontology

Relevant wiki featuresRelevant wiki features

•• SocialSocial TaggingTagging:: nonnon--organizedorganized butbut dynamicdynamic organizationorganization processprocess..

TheThe propertiesproperties siocsioc::topictopic (using(using URIs)URIs) andand dcdc::subjectsubject (using(using keywords)keywords) cancan bebeTheThe propertiesproperties siocsioc::topictopic (using(using URIs)URIs) andand dcdc::subjectsubject (using(using keywords)keywords) cancan bebe

usedused toto representrepresent tagstags relatedrelated toto aa particularparticular wikiwiki pagepage..

http://wiki.../The_Clash http://wiki.../punk_rocksioc:topic

dc:subject tag:hasTag

Punk rock

dc:subject tag:hasTag

Page 10: Enabling cross-wikis integration by extending the SIOC ontology

Relevant wiki featuresRelevant wiki features

•• DiscussionsDiscussions: : pagespages wherewhere people can people can discussdiscuss aboutabout the the articlearticle subjectsubject..

We added a new We added a new sioc:has_discussionsioc:has_discussion property, property, with domain with domain sioc:Itemsioc:Item and open and open We added a new We added a new sioc:has_discussionsioc:has_discussion property, property, with domain with domain sioc:Itemsioc:Item and open and open

range (to make this property reusable).range (to make this property reusable).

Page 11: Enabling cross-wikis integration by extending the SIOC ontology

Relevant wiki featuresRelevant wiki features

•• BacklinksBacklinks:: (or(or ““whatwhat linkslinks herehere”)”) wikiwiki internalinternal linkslinks pointingpointing toto thethe samesame

wikiwiki articlearticle..

WeWe modeledmodeled thisthis featurefeature usingusing thethe alreadyalready existingexisting siocsioc::links_tolinks_to propertypropertyWeWe modeledmodeled thisthis featurefeature usingusing thethe alreadyalready existingexisting siocsioc::links_tolinks_to propertyproperty

((subpropertysubproperty ofof dctermsdcterms::referencesreferences))..

Page 12: Enabling cross-wikis integration by extending the SIOC ontology

Relevant wiki featuresRelevant wiki features

•• Pages Versioning:Pages Versioning: each page has an associated page history.each page has an associated page history.

In order to define an essential and In order to define an essential and lightweightlightweight model we:model we:

•• Added a Added a sioc:latest_version property;property;

•• Added Added 2 2 transitivetransitive properties: properties: sioc:earlier_version & & sioc:later_version;;•• Added Added 2 2 transitivetransitive properties: properties: sioc:earlier_version & & sioc:later_version;;

•• Defined Defined sioc:later_version as inverse property of as inverse property of sioc:earlier_version;;

•• Defined Defined sioc:next(previous)_version as as subpropertysubproperty of of sioc:later(earlier)_version..

Page 13: Enabling cross-wikis integration by extending the SIOC ontology

An An exporterexporter fromfrom a a popularpopular wikiwiki platformplatform toto exposeexpose data in RDF data in RDF usingusing ourour

proposedproposed modelmodel..

AA webservice,webservice, writtenwritten inin PHP,PHP, thatthat exportsexports aa MediaWikiMediaWiki articlearticle inin RDF,RDF, publiclypublicly

SIOCSIOC--MediaWiki ExporterMediaWiki Exporter

AA webservice,webservice, writtenwritten inin PHP,PHP, thatthat exportsexports aa MediaWikiMediaWiki articlearticle inin RDF,RDF, publiclypublicly

availableavailable atat::

http://ws.siochttp://ws.sioc--project.org/mediawiki/project.org/mediawiki/

Page 14: Enabling cross-wikis integration by extending the SIOC ontology

An An exporterexporter fromfrom a a popularpopular wikiwiki platformplatform toto exposeexpose data in RDF data in RDF usingusing ourour

proposedproposed modelmodel..

AA webservice,webservice, writtenwritten inin PHP,PHP, thatthat exportsexports aa MediaWikiMediaWiki articlearticle inin RDF,RDF, publiclypublicly

SIOCSIOC--MediaWiki ExporterMediaWiki Exporter

AA webservice,webservice, writtenwritten inin PHP,PHP, thatthat exportsexports aa MediaWikiMediaWiki articlearticle inin RDF,RDF, publiclypublicly

availableavailable atat::

http://ws.siochttp://ws.sioc--project.org/mediawiki/project.org/mediawiki/

Page 15: Enabling cross-wikis integration by extending the SIOC ontology

RDF data extracted from a wiki page is browsable with tools such as RDF data extracted from a wiki page is browsable with tools such as The The

TabulatorTabulator

ToTo offeroffer a a betterbetter browsingbrowsing experienceexperience and and easeease the the processprocess ofof crawlingcrawling SIOC SIOC

Browsing the generated dataBrowsing the generated data

ToTo offeroffer a a betterbetter browsingbrowsing experienceexperience and and easeease the the processprocess ofof crawlingcrawling SIOC SIOC

exportsexports ofof MediaWikiMediaWiki instancesinstances, the , the webservicewebservice automaticallyautomatically producesproduces

rdfsrdfs::seeAlsoseeAlso linkslinks betweenbetween wikiwiki pagespages, , followingfollowing the the LinkedLinked DataData practicespractices;;

Link Link toto the the correspondingcorresponding DbpediaDbpedia resourceresource addedadded automatically,automatically, ifif the the

articlearticle isis fromfrom the the WikipediaWikipedia [English] [English] ((withwith foaffoaf::primaryTopicprimaryTopic))

A RDF A RDF crawlercrawler can can easilyeasily followfollow allall the the seeAlsoseeAlso linkslinks foundfound on on everyeverydocumentdocument and continue and continue toto crawl, so crawl, so itit isis possiblepossible toto crawl crawl anan entireentire wikiwiki site site

startingstarting fromfrom a single URI.a single URI.

Page 16: Enabling cross-wikis integration by extending the SIOC ontology

RDF data extracted from a wiki page is browsable with tools such as RDF data extracted from a wiki page is browsable with tools such as The The

TabulatorTabulator

ToTo offeroffer a a betterbetter browsingbrowsing experienceexperience and and easeease the the processprocess ofof crawlingcrawling SIOC SIOC

Browsing the generated dataBrowsing the generated data

ToTo offeroffer a a betterbetter browsingbrowsing experienceexperience and and easeease the the processprocess ofof crawlingcrawling SIOC SIOC

exportsexports ofof MediaWikiMediaWiki instancesinstances, the , the webservicewebservice automaticallyautomatically producesproduces

rdfsrdfs::seeAlsoseeAlso linkslinks betweenbetween wikiwiki pagespages, , followingfollowing the the LinkedLinked DataData practicespractices;;

Link Link toto the the correspondingcorresponding DbpediaDbpedia resourceresource addedadded automatically,automatically, ifif the the

articlearticle isis fromfrom the the WikipediaWikipedia [English] [English] ((withwith foaffoaf::primaryTopicprimaryTopic))

A RDF A RDF crawlercrawler can can easilyeasily followfollow allall the the seeAlsoseeAlso linkslinks foundfound on on everyeverydocumentdocument and continue and continue toto crawl, so crawl, so itit isis possiblepossible toto crawl crawl anan entireentire wikiwiki site site

startingstarting fromfrom a single URI.a single URI.

Page 17: Enabling cross-wikis integration by extending the SIOC ontology

Advanced querying processAdvanced querying process

ToTo evaluateevaluate ourour proposalproposal, , wewe exportedexported and and crawledcrawled differentdifferent MediaWikiMediaWiki

instancesinstances: : 4 4 wikiswikis havehave beenbeen crawledcrawled, , collectingcollecting more more thanthan 11GB GB ofof RDF data.RDF data.

RDF data RDF data loadedloaded in a in a tripletriple--storestore: : SesameSesame + OWLIM+ OWLIM

SPARQL SPARQL queriesqueries forfor a single a single wikiwiki::

””whatwhat are the are the collaboratingcollaborating usersusers thatthat workedworked alternativelyalternatively on the on the samesame wikiwiki

articlearticle?”?”

SELECT DISTINCT ?wikiArt ?Contrib_a ?Contrib_bWHERE {

?x sioc:latest_version ?wikiArt .?wikiArt sioc:earlier_version ?VersA .?VersA sioc:earlier_version ?VersB ;

dc:contributor ?Contrib_a .?VersB sioc:earlier_version ?VersC ;

dc:contributor ?Contrib_b .?VersC dc:contributor ?Contrib_a .FILTER (?Contrib_a != ?Contrib_b ) . }

Page 18: Enabling cross-wikis integration by extending the SIOC ontology

Advanced querying processAdvanced querying process

SPARQL crossSPARQL cross--wikis queryingwikis querying

”Identify pages created by the same user between different wikis”:”Identify pages created by the same user between different wikis”:

SELECT DISTINCT ?creator1 ?page1 ?page2 ?wiki1 ?wiki2WHERE {WHERE {

?page1 sioc:has_container ?wiki1 ;dc:contributor ?creator1 .

?page2 sioc:has_container ?wiki2 ;dc:contributor ?creator2 .

FILTER ( str ( ?creator1 ) == str ( ?creator2 ) ) .FILTER ( str ( ?wiki1 ) != str ( ?wiki2 ) ) . }

””CrossCross--sitessites queryingquerying byby combiningcombining FOAF and SIOC”:FOAF and SIOC”:

SELECT DISTINCT ?contentWHERE {

<http://example.org/js#me> foaf:holdsAccount ?account .?account rdf:type sioc:User .?content sioc:has_creator ?account .

}

Page 19: Enabling cross-wikis integration by extending the SIOC ontology

ConclusionConclusion

Overview:Overview:

�� Presented how the SIOC ontology and lightweight semantics can be used Presented how the SIOC ontology and lightweight semantics can be used and extended to represent the structure of wikis in an unified way;and extended to represent the structure of wikis in an unified way;

Described how we designed a webservice to translate any MediaWiki page Described how we designed a webservice to translate any MediaWiki page

What's next?What's next?

�� Described how we designed a webservice to translate any MediaWiki page Described how we designed a webservice to translate any MediaWiki page into SIOC data, following the Linked Data best principles;into SIOC data, following the Linked Data best principles;�� Provided examples on how this data could be efficiently used for querying Provided examples on how this data could be efficiently used for querying purposes.purposes.

�� Further developments may include exporters and plugFurther developments may include exporters and plug--in for other in for other platforms to enable better crossplatforms to enable better cross--wikis integration;wikis integration;platforms to enable better crossplatforms to enable better cross--wikis integration;wikis integration;�� To extend the pages versioning system defined in SIOC regarding wikis to To extend the pages versioning system defined in SIOC regarding wikis to other userother user--generated content;generated content;�� The modeling of a wiki page might be improved adding more details about The modeling of a wiki page might be improved adding more details about the content of the article itself.the content of the article itself.

Page 20: Enabling cross-wikis integration by extending the SIOC ontology

Thank you!Thank you!

Any questions?Any questions?