tutorial denny vrandečić, markus krötzsch {denny, mak}@aifb.uni-karlsruhe.de

32
How to reuse knowledge from a Semantic MediaWiki in your own applications and websites (in lack of a shorter title) Tutorial Denny Vrandečić, Markus Krötzsch { denny , mak}@aifb.uni-karlsruhe.de AIFB, University of Karlsruhe

Upload: bonita

Post on 20-Jan-2016

41 views

Category:

Documents


2 download

DESCRIPTION

How to reuse knowledge from a Semantic MediaWiki in your own applications and websites (in lack of a shorter title). Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de AIFB, University of Karlsruhe. Agenda. What’s this Semantic Web stuff, anyway? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

How to reuse knowledge from a Semantic MediaWiki in your own

applications and websites(in lack of a shorter title)

TutorialDenny Vrandečić, Markus Krötzsch

{denny, mak}@aifb.uni-karlsruhe.de AIFB, University of Karlsruhe

Page 2: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

Agenda

• What’s this Semantic Web stuff, anyway?

• Wow, cool, but why should I use it?

• Ah, I see, but how do I use it?

• Neat! May I try?

• Err… do you have time for questions?

Page 3: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

What’s this Semantic Web stuff?

Page 4: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

It’s about cool web resources

Page 5: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 6: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 7: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 8: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 9: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 10: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 11: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 12: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

How does the data integrate?

Page 13: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

It’s easy!

• Write a spider• Screengrab the text• Mine the information with regexps• Do this for every different page• Combine the data in your app• Rewrite when page layout changes• Test with different pages• Hope that it usually works

Page 14: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

That’s easy?

No, but it’s the only way

Besides the Semantic Web

Page 15: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

The Semantic Web

• Data format standard: RDF

• RDF describes graphs

• A web of data

Page 16: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 17: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

The Semantic Web

• Data format standard: RDF

• RDF describes graphs

• A web of data

• RDF is for databases what HTML is to Hypertext

• Global interoperability of the data

Page 18: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 19: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

So, what about MediaWiki?

• Semantic MediaWiki extension

• Grab sf.net/projects/semediawiki

• Install it (easy)

• Or go to ontoworld.org

Page 20: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 21: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 22: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

Angola Africalocated in

Zambia

located in

borders

Country Continent

Page 23: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

http://wiki.ontoworld.org/index.php/_Angolahttp://wiki.ontoworld.org/index.php/_Africa

http://wiki.ontoworld.org/index.php/_Relation-3ALocated_in

http://wiki.ontoworld.org/index.php/_Zambia

http://w

iki.ontoworld

.org/index.p

hp/_Relation-3ALoca

ted_in

http://wiki.ontow

orld.org/index.php/_Relation-3A

Borders

http://wiki.ontoworld.org/index.php/_Category-3ACountry

http://wiki.ontoworld.org/index.php/_Category-3AContinent

Page 24: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

http://wiki.ontoworld.org/index.php/_Angolahttp://wiki.ontoworld.org/index.php/_Africa

http://wiki.ontoworld.org/index.php/_Relation-3ALocated_in

http://wiki.ontoworld.org/index.php/_Zambia

http://w

iki.ontoworld

.org/index.p

hp/_Relation-3ALoca

ted_in

http://wiki.ontow

orld.org/index.php/_Relation-3A

Borders

http://wiki.ontoworld.org/index.php/_Category-3ACountry

http://wiki.ontoworld.org/index.php/_Category-3AContinent

Angola

http://www.w3.org/2000/01/rdf-schema#label

Africa

Located in

Zambia

Country

Borders

Continent

Page 25: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de
Page 26: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

And this is easy!

import SemanticMediaWiki

ow = SemanticMediaWiki.SMW("http://ontoworld.org/index.php/Special:ExportRDF/","http://wiki.ontoworld.org/index.php/_")

country = ow.load("Angola")print countryprint country.located_in

bordered = country.borders

print len(bordered)for b in bordered: print b

Page 27: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

So, this is only for Python?• No, RDF is an open standard (W3C)

• Perl

• Pike

• Prolog

• Ruby

• .Net / Mono

• PHP

• Java

• JavaScript

• C

• C++

• Haskell

• Common Lisp

Page 28: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

SPARQL : RDF Query LangPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX thing: <http://wiki.ontoworld.org/index.php/_>PREFIX relation: <http://wiki.ontoworld.org/index.php/_Relation-3A>

SELECT ?labelWHERE { thing:Angola relation:Located_in ?c . ?c rdfs:label ?label}

Page 29: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

http://wiki.ontoworld.org/index.php/_Angolahttp://wiki.ontoworld.org/index.php/_Africa

http://wiki.ontoworld.org/index.php/_Relation-3ALocated_in

http://wiki.ontoworld.org/index.php/_Zambia

http://w

iki.ontoworld

.org/index.p

hp/_Relation-3ALoca

ted_in

http://wiki.ontow

orld.org/index.php/_Relation-3A

Borders

http://wiki.ontoworld.org/index.php/_Category-3ACountry

http://wiki.ontoworld.org/index.php/_Category-3AContinent

Angola

http://www.w3.org/2000/01/rdf-schema#label

Africa

Located in

Zambia

Country

Borders

Continent

Page 30: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

<html> <body> Angola is in <?php define("RDFAPI_INCLUDE_DIR", "path/api/"); include(RDFAPI_INCLUDE_DIR . "RDFAPI.php");

$model = ModelFactory::getDefaultModel(); $model->load("full URI/ExportRDF/Angola"); $result = $model->sparqlQuery('SPARQL'); $value = $result[0]['?label']; echo $value->getLabel(); ?> </body></html>

Page 31: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

Off the shelf tools

• Lots of tools use RDF

• To visualize, browse, explore, query…

• Usually Open Source

• Can be used to learn how to program

• Demo of Longwell

Page 32: Tutorial Denny Vrandečić, Markus Krötzsch {denny, mak}@aifb.uni-karlsruhe.de

Let’s play!Python:• Get RDFLib from rdflib.net• Ask me for SMW lib

PHP:• Get RAP from

www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi

Times for question!