20
Building Semantic Web Based Applications with Watson Mathieu d’Aquin and many other people The Knowledge Media Institute, The Open University [email protected]

Building Semantic Web Based Applications with Watson

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Building Semantic Web Based Applications with Watson

Building Semantic Web Based Applications with Watson

Mathieu d’Aquin and many other people

The Knowledge Media Institute, The Open [email protected]

Page 2: Building Semantic Web Based Applications with Watson

The Semantic Web is growing

http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData

Page 3: Building Semantic Web Based Applications with Watson

Next Generation Semantic Web Applications

Dynamically retrieving, exploiting and combining relevant semantic resources from the SW, at large

Need for a Gateway to the Semantic Web

Page 4: Building Semantic Web Based Applications with Watson

Next Generation Semantic Web Applications

Page 5: Building Semantic Web Based Applications with Watson

Architecture

Page 6: Building Semantic Web Based Applications with Watson

Collection

Page 7: Building Semantic Web Based Applications with Watson

Interfaces: WUI

Web User Interface: http://watson.kmi.open.ac.uk/WatsonWUI

Page 8: Building Semantic Web Based Applications with Watson

Web services and API

• A SOAP Based API that provides the infrastructure to:– Find SW documents and

retrieve metadata about them– Find entities (classes,

properties, individuals) and explore their semantic description

– Apply SPARQL queries to Semantic Web documents

• An initial REST Based API

• But what applications (can)

do with it?

Page 9: Building Semantic Web Based Applications with Watson

Demonstrator: gowgle/wahoo

• An extension of a web search engine that suggests ways to extend a query thanks to online ontologies

• Example with the query “researcher”– Suggests “academic staff”, “Person”, etc. as

terms to generalize the query, and – “professor”, “PhD student” as terms to

specialize the query– Without having to give the system any

knowledge: everything comes from the Web!• 2 Versions:

– Gowgle (http://watson.kmi.open.ac.uk/gowgle): use the Google SOAP API and the Watson SOAP API

– Wahoo (http://watson.kmi.open.ac.uk/wahoo): use the Yahoo! REST API and the Watson REST API

Page 10: Building Semantic Web Based Applications with Watson

QueryResult from Yahoo!

Term suggestions

Add/Replace

Screenshot of wahoo (REST based)

Page 11: Building Semantic Web Based Applications with Watson

How to do it?

• Find ontologies containing the keyword “researcher”http://watson.kmi.open.ac.uk/API/semanticcontent/keywords?

q=researcher

• … exactly “researcher” in the label or id of a classhttp://watson.kmi.open.ac.uk/API/semanticcontent/keywords?

q=researcher&scope=LN+Label&ent=Class&match=Exact

• Find entities corresponding to “researcher” in ontologyhttp://watson.kmi.open.ac.uk/API/entity/keyword?

q=researcher&uri=http://calo.sri.com/core-plus-office&scope=LN+Label &ent=Class&match=Exact

• Find subclasses and superclasses of an entityhttp://watson.kmi.open.ac.uk/API/entity/subclasses?ent=http://

calo.sri.com/core-plus-office#Researcher&uri=http://calo. sri.com/core-plus-office

• The rest is interface stuff and call to Yahoo!

Page 12: Building Semantic Web Based Applications with Watson

Other functions

• Wahoo uses only a subset of the possibilities of the Watson API

• Functions on SW documents (in SOAP and soon in REST):

Find SW documents:listSemanticContentsgetSemanticContentByKeywords getSemanticContentByKeywordsWithRestrictionsgetBestCoverageWithRestrictions

Basic Metadata:getCacheLocation getSemanticContentLocationgetImportsgetNumberOfStatementgetSizeInBytesgetSemanticContentLanguagesgetDLExpressivness

Content:listClasseslistIndividualslistPropertiesexecuteSPARQLQuery

Reviews (from Revyu.com):getNumbearOfReviewsgetAverageRating getRevyuURL

Page 13: Building Semantic Web Based Applications with Watson

Other functions

• Functions on entities (in SOAP and soon in REST):

Find Entities:getEntitiesByKeywordgetEntitiesByKeywordWithRestrictiongetBelongsTo

Relations:getRelationsFromgetRelationsTogetClassesgetDifferentFromgetDisjointWithgetDomaingetDomainOfgetEquivalentClassegetInstancesgetRangegetRangeOfgetSameIndividualgetSubClassegetSuperClasses

Literals:getLiteralsForgetLabelsgetComment

Page 14: Building Semantic Web Based Applications with Watson

Real Applications

• PowerMagpie: Semantic Browsing

• PowerAqua: Question Answering

• Flor: Folksonomy Enrichment

• MOAW: Putting URIs everywhere

• Watson Plugin: Large Scale Knolwedge reuse in Ontology Engineering

• Scarlet: Relation Discovery

• Word Sense Disambiguation, Data Validation, …

Page 15: Building Semantic Web Based Applications with Watson

And so…

• Watson is an ongoing work to build an infrastructure supporting the development of SW applications – Room for contributions ;-) – And building applications is a form of contribution!

• Many additions currently in development– Presentation of SW Documents/Ontologies, Ontology Summarization,

Modularization– Classification of SW Documents/Ontologies, ontology directory– Infrastructure for publishing SW data/ontologies, data hosting– Efficient cross ontology querying– Detecting and managing relations between SW documents/ontologies

(equivalences, similarity, versions, compatibility, etc.)– Combining automatic evaluation, user evaluation and trust for

(customized) ranking– Exchange with the p2p networks for ontology sharing

Page 16: Building Semantic Web Based Applications with Watson

Thank you!Watson: http://watson.kmi.open.ac.ukBlog:

http://watson.kmi.open.ac.uk/blogMailing list:

[email protected]: [email protected]

Page 17: Building Semantic Web Based Applications with Watson

The Semantic Web is growing…

0

5

10

15

20

25

30

35

40

45

2003 2004

#SW Pages

Lee, J., Goodwin, R. (2004) The Semantic Webscape: a View of the Semantic Web. IBM Research Report.

Page 18: Building Semantic Web Based Applications with Watson

Ontologies

Metadata

<rdf:RDF><channel rdf:about=“http://watson.kmi.open.ac.uk/blog”><title>Elementaries - The Watson Blog</title><link>http://watson.kmi.open.ac.uk:8080/blog/</link><description>"Oh dear! Where the Semantic Web is going to go now?" -- imaginary user 23</description><language>en</language><copyright>Watson team</copyright><lastBuildDate>Thu, 01 Mar 2007 13:49:52 GMT</lastBuildDate><generator>Pebble (http://pebble.sourceforge.net)</generator><docs>http://backend.userland.com/rss</docs>…

<rdf:RDF> <foaf:Image rdf:about='http://static.flickr.com/132/400582453_e1e1f8602c.jpg'> <dc:title>Zen wisteria</dc:title> <dc:description></dc:description> <foaf:page rdf:resource='http://www.flickr.com/photos/xcv/400582453/'/> <foaf:topic rdf:resource='http://www.flickr.com/photos/tags/vittelgarden/'/> <foaf:topic rdf:resource='http://www.flickr.com/photos/tags/wisteria/'/> <dc:creator> <foaf:Person><foaf:name>Mathieu d'Aquin</foaf:name> …

<rdf:RDF> <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://usefulinc.com/ns/doap#"/> </owl:Ontology> <j.1:Organization rdf:ID="KMi"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >The Knoledge Media Institute of the Open University, Milton Keynes UK</rdfs:comment> </j.1:Organization> <j.1:Document rdf:ID="KMiWebSite"> …

DOAP

FOAFDC

RSS TAPWORDNET

NCI GalenMusic

…… …

UoD

Page 19: Building Semantic Web Based Applications with Watson

Next Generation Semantic Web Applications

NG SW Application Semantic WebSmart Features

• Able to exploit the SW at large – Dynamically retrieving the relevant semantic

resources – Combining several, heterogeneous Ontologies

Page 20: Building Semantic Web Based Applications with Watson

Design Principles Focused on quality

– Provides quality information about the collected ontologies and semantic data– Provides valuable services for semantic applications, to discover, select, exploit and combine semantic resources

Provides a variety of query and access mechanisms– For both humans (web interface) and machines (web serv., API)

– To fit applications having different purposes and requirements– Ranging from Keyword search to ontology exploration and formal queries (SPARQL)

Support for relations between ontologies– Detecting redundancy, duplication, incompatibility (contradiction), modularization, versioning, etc.