From the Semantic Web to the Web of Data: ten years of linking up

Davide Palmisano
Davide PalmisanoSoftware Engineer at PeerIndex
from the Semantic Web to the Web of Data
                                             ten years of linking up

     Lugano 30-03-2010   Davide Palmisano - Fondazione Bruno Kessler
a short ToC

 story of a buzzword

                  concepts and ideas behind it

Linked Data: four rules, billions of opportunities


the server side of the triple: Java and the Semantic Web


                  successes, failures and hopes
story of a buzzword

“To a computer, the Web is a
 flat, boring world devoid
        of meaning.”

                  “A new form of Web content that
                   is meaningful to computers will
                       unleash a revolution of new
                              possibilities”

“The Semantic Web is not a separate Web but an
  extension of the current one, in which
   information is given well-defined meaning, ”
story of a buzzword
story of a buzzword
story of a buzzword
story of a buzzword




“Adding semantics to the web involves two things:
allowing documents which have information in
machine-readable forms, and allowing links to
be created with relationship values.”
story of a buzzword


 typed objects and relationships


 machine-readable content metadata


 with shared semantics



The Web as a global giant decentralized database
concepts and ideas behind it
concepts and ideas behind it


How to represent the knowledge ?
concepts and ideas behind it


How to represent the knowledge ?

World’s academic communities dealt for
years with knowledge representation

artificial intelligence, natural language
processing, model management and many
other research fields largely contributed

some ancestors traced the way
concepts and ideas behind it

  SHOE[1]

       “SHOE is an extension to HTML which
       allows authors to annotate their web pages
       with machine-readable knowledge”
<USE-ONTOLOGY ID="cs-dept-ontology" VERSION="1.0" PREFIX="cs" URL=
"http://www.cs.umd.edu/projects/plus/SHOE/cs.html">

<CATEGORY NAME="cs.Professor" FOR="http://www.cs.umd.edu/users/hendler/">

<RELATION NAME="cs.member">
    <ARG POS=1 VALUE="http://www.cs.umd.edu/projects/plus/">
    <ARG POS=2 VALUE="http://www.cs.umd.edu/users/hendler/">
</RELATION>

<RELATION NAME="cs.name">
   <ARG POS=2 VALUE="Dr. James Hendler">
</RELATION>
concepts and ideas behind it
John Sowa’s
Conceptual Graphs [2]

(...) they express meaning in a form that is logically
precise, humanly readable, and computationally
tractable (...)



      BOY              AGNT              WALK


                                        “boy walking”
concepts and ideas behind it


declining such approaches in a

    unpredictable

                 decentralized

                          potentially incoherent

environment as the Web is

 has been the goal of a standardization effort
 mainly lead by the W3C
concepts and ideas behind it



Resource Description Framework RDF


 corner stone of the Semantic Web
 technology stack

 1999, first publication

 directed and labeled
 graphs as data model
concepts and ideas behind it


everything is univocally identifiable with
a Uniform Resource Identifier


   a web page, a person, a book, an intangible thing


   http://dpalmisano.myopenid.com

   http://dbpedia.org/resource/Lugano

   http://dbtune.org/myspace/coldplay
concepts and ideas behind it


relationships between things could be expressed
with a directed, labeled graph


                    where


nodes could be resources or XMLSchema-typed values

and relationships are identified also by URIs
concepts and ideas behind it


http://dpalmisano.myopenid.com




                                 http://sws.geonames.org/3165243/
concepts and ideas behind it


       http://dpalmisano.myopenid.com



                                          http://xmlns.com/foaf/0.1/based_near




                                        http://sws.geonames.org/3165243/




it’s an RDF triple
concepts and ideas behind it


http://dpalmisano.myopenid.com



                                   http://xmlns.com/foaf/0.1/based_near




                                 http://sws.geonames.org/3165243/



                                               http://www.geonames.org/ontology#name




                                      Trento
concepts and ideas behind it


   http://dpalmisano.myopenid.com



                                      http://xmlns.com/foaf/0.1/based_near




                                    http://sws.geonames.org/3165243/
http://www.geonames.org/
ontology#population
                                                  http://www.geonames.org/ontology#name


104946
                                         Trento
concepts and ideas behind it

                                   http://xmlns.com/foaf/0.1/based_near

  http://dpalmisano.myopenid.com                                          http://sws.geonames.org/3165243/




 XML serialization

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">

 <rdf:Description rdf:about="http://dpalmisano.myopenid.com/">
   <foaf:based_near rdf:resource="http://sws.geonames.org/
   3165243/"/>
 </rdf:Description>

</rdf:RDF>
concepts and ideas behind it

                                   http://xmlns.com/foaf/0.1/based_near

  http://dpalmisano.myopenid.com                                          http://sws.geonames.org/3165243/




 Turtle serialization


@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .

<http://dpalmisano.myopenid.com/> foaf:based_near <http://
sws.geonames.org/3165243/> .
concepts and ideas behind it

                                   http://xmlns.com/foaf/0.1/based_near

  http://dpalmisano.myopenid.com                                          http://sws.geonames.org/3165243/




 N3 serialization




<http://dpalmisano.myopenid.com/> <http://xmlns.com/foaf/0.1/
based_near> <http://sws.geonames.org/3165243/> .
concepts and ideas behind it

                                     http://xmlns.com/foaf/0.1/based_near

    http://dpalmisano.myopenid.com                                          http://sws.geonames.org/3165243/




    JSON serialization

{
  "http://dpalmisano.myopenid.com" :
   {
      "http://xmlns.com/foaf/0.1/based_near": [ { "type" : "uri" ,
"value" : "http://sws.geonames.org/3165243/" } ]
   }
}
concepts and ideas behind it

                                 http://xmlns.com/foaf/0.1/based_near

http://dpalmisano.myopenid.com                                          http://sws.geonames.org/3165243/




this triple represents a relationship
between two resources

          but how we can represent the meaning of
          that relationship?

defining vocabularies and ontologies:
RDFSchema and OWL
concepts and ideas behind it

an “Hello World” RDFSchema vocabulary

                                                rdf:type
 http://helloworld.com/ontology/Person
                                                           http://helloworld.com/ontology/father
                                         rdf:type

         rdf:type
                                                                            rdf:type



              rdfs:Class                                    rdfs:Property
concepts and ideas behind it

RDFSchema entailment: inferring new statements


 http://helloworld.com/ontology/Person
                                                 http://helloworld.com/resource/Michele



            rdf:type


                                                  http://helloworld.com/ontology/father
    http://helloworld.com/resource/Davide
concepts and ideas behind it

RDFSchema entailment: inferring new statements


 http://helloworld.com/ontology/Person      rdf:type

                                                       http://helloworld.com/resource/Michele



            rdf:type


                                                        http://helloworld.com/ontology/father
    http://helloworld.com/resource/Davide
concepts and ideas behind it


OWL allows to specify other axioms

      property cardinality restrictions
      classes disjunction
      property transitivity
      cardinality constraints


but beware: more expressivity means more
reasoning complexity
                                interested in these topics? give a try to [3]
concepts and ideas behind it


describe everything...




                                         and more...
concepts and ideas behind it


RDFa: Bridging the traditional
Web with the Semantic Web

<div rel="dc:creator">

 <span typeof="foaf:Person" about="http://foafbuilder.qdos.com/people/
dpalmisano.myopenid.com/foaf.rdf#me">

 
 <a property="foaf:name" rel="foaf:homepage" href="http://
dpalmisano.myopenid.com/">Davide Palmisano</a>

 
 <a rel="foaf:workplaceHomepage"
        href="http://www.fbk.eu">Fondazione Bruno Kessler</a>

 </span>
</div>
concepts and ideas behind it


SPARQL: querying the Semantic Web

     based on graph pattern matching
    SPARQL Protocol and RDF Query
    Language
    4 different operators: SELECT, DESCRIBE,
    ASK and CONSTRUCT
concepts and ideas behind it


SPARQL: querying the Semantic Web


              SELECT ?person
              WHERE {
               ?person a foaf:Person.
               ?person ex:age ?age.
               FILTER(?age > 18)
               }
concepts and ideas behind it


SPARQL: querying the Semantic Web


            “In which university have
            studied the founders of
            successful IT companies?”



                                 and order them by
                                 frequency...
concepts and ideas behind it

SELECT DISTINCT ?almaMater, count(?almaMater) as ?frequency
WHERE {
{ {?company a dbpedia-owl:Company} UNION { ?company a
yago:InternetCompaniesOfTheUnitedStates } UNION  {?company a
yago:CompaniesBasedInSiliconValley} UNION {?company a
yago:CompaniesListedOnNASDAQ} }
?company dbpedia-owl:numberOfEmployees ?numberOfEmpl.
FILTER (?numberOfEmpl > 0).
OPTIONAL { ?company dbpedia-owl:keyPerson ?keyPerson }
?keyPerson dbpprop:almaMater ?almaMater.
}
ORDER BY DESC(?frequency)
Linked Data: four rules, billions of opportunities

1.
 Use URIs to identify things.

2.
 Use HTTP URIs so that these things can be
referred to and looked up ("dereference") by
people and user agents.

3.
 Provide useful information (i.e., a structured
description - metadata) about the thing when
its URI is dereferenced.

4.
 Include links to other, related URIs in
the exposed data to improve discovery of other
related information on the Web.
Linked Data: four rules, billions of opportunities

DBpedia: Wikipedia as a database




 extract such structured info and represent it with RDF
Linked Data: four rules, billions of opportunities


let’s do it also for

                          Internet Movie Database

         BBC /programmes

                                            CiteSeer
                           GeoNames
  Musicbrainz

      CIA factbook
                       and for all imaginable data-
                       intensive traditional Web sites...
Linked Data: four rules, billions of opportunities
the server side of the triple: Java and the Semantic Web
the server side of the triple: Java and the Semantic Web



  RDF is the model

  SPARQL is the query language

  RDFa is our Trojan horse

  Linked Data is the paradigm


                         how does it fit with Java?
the server side of the triple: Java and the Semantic Web


Semantic Web general purposes open sources libraries

Jena[3] - The Semantic Web Java framework

- a RDF API
- parsing and writing RDF in RDF/XML, N3 and N-Triples
- an OWL API
- In-memory storage and persistence layer
- SPARQL query engine
- Schemagen: Java classes from a RDFSchema vocabulary
the server side of the triple: Java and the Semantic Web

Jena: creating a model
// URI declarations
String familyUri = "http://family/";
String relationshipUri = "http://purl.org/vocab/relationship/";

// Create an empty Model
Model model = ModelFactory.createDefaultModel();

// Create a Resource for each family member, identified by their URI
Resource adam = model.createResource(familyUri+"adam");
Resource beth = model.createResource(familyUri+"beth");

// Create properties for the different types of relationship to represent
Property siblingOf = model.createProperty(relationshipUri,"siblingOf");

// Add properties to adam describing relationships to other family members
adam.addProperty(siblingOf,beth);
the server side of the triple: Java and the Semantic Web

Jena: querying the model
// Create a new query passing a String containing the RDQL to execute
Query query = new Query(queryString);

// Set the model to run the query against
query.setSource(model);

// Use the query to create a query engine
QueryEngine qe = new QueryEngine(query);

// Use the query engine to execute the query
QueryResults results = qe.exec();

while (results.hasNext()) {
   ResultBinding binding = (ResultBinding)results.next();
   RDFNode definition = (RDFNode) binding.get("definition");
   System.out.println(definition.toString());
   Resource concept = (Resource)binding.get("concept");
  List wordforms = concept.listObjectsOfProperty(wordForm);
}
the server side of the triple: Java and the Semantic Web


other valuable alternatives

Sesame[4] - a generic open source Java framework for
storage and querying of RDF data
- easy, elegant and well documented

jRDF[5] - an RDF library for Java
- notable for IoC support (Spring 2)
the server side of the triple: Java and the Semantic Web


getting RDF data

Any23[6] - Anything to Triples
- a library
- a Web service
- a CLI
- allows to extract RDF from various sources:
    - Microformats: Adr, Geo, hCalendar, hCard, hListing,
    hResume, hReview, License and XFN
    - RDF/XML, Turtle and Notation3
- RDF/XML, N3, Turtle and content-negotiated
serialization supported
the server side of the triple: Java and the Semantic Web

Any23: rdf extraction

 /*1*/ Any23 runner = new Any23();
 /*2*/ runner.setHTTPUserAgent("test-user-agent");
 /*3*/ HTTPClient httpClient = runner.getHTTPClient();
 /*4*/ DocumentSource source = new HTTPDocumentSource(
          httpClient,
          "http://www.rentalinrome.com/semanticloft/semanticloft.htm"
       );
 /*5*/ ByteArrayOutputStream out = new ByteArrayOutputStream();
 /*6*/ TripleHandler handler = new NTriplesWriter(out);
 /*7*/ runner.extract(source, handler);
 /*8*/ String n3 = out.toString("UTF-8");
the server side of the triple: Java and the Semantic Web

Any23 deals with such documents that already
contains some RDF metadata


extracting the semantics from free-text and
disambiguate terms with links to some Linked Data
cloud it’s another story

a pletora of different services
- AlchemyAPI[7]
- OpenCalais[8]
the server side of the triple: Java and the Semantic Web


The world's largest maker of solar inverters announced Monday that
it will locate its first North American manufacturing plant in Denver.

"We see a huge market coming in the U.S.," said Pierre-Pascal
Urbon, the company's chief financial officer.

The company, based in Kassel, north of Frankfurt, Germany, boasts
growing sales of about $1.2 billion a year.
the server side of the triple: Java and the Semantic Web


The world's largest maker of solar inverters announced Monday that
it will locate its first North American manufacturing plant in Denver.

"We see a huge market coming in the U.S.," said Pierre-Pascal
Urbon, the company's chief financial officer.

The company, based in Kassel, north of Frankfurt, Germany, boasts
growing sales of about $1.2 billion a year.


  http://dbpedia.org/resource/Frankfurt
  http://dbpedia.org/resource/Denver
  http://dbpedia.org/resource/Kassel
the server side of the triple: Java and the Semantic Web


    exposed as HTTP Web services they
    provide responses in XML, RDF/XML, RDFa
    or JSON



    Apache UIMA comes with two annotators
    for AlchemyAPI and OpenCalais[9]
the server side of the triple: Java and the Semantic Web

indexing RDF data

SIREn[10]: Efficient semi-structured Information
Retrieval for Lucene
- a plugin for Lucene
- extends the Lucene query model
- semi-structured search
- structure aware full-text search
- ranked semi-structured search: most relevant results
returned first
- sub-linear average response time
- flexible semi-structured indexing
the server side of the triple: Java and the Semantic Web


storing RDF data
commonly known as “triple-stores”[11]

“let me insert triples and make
SPARQL queries above them”

- OpenLink Virtuoso
- 4Store
- Redland
- Jena or Sesame over a RDBMS
the server side of the triple: Java and the Semantic Web

   JDBC and Virtuoso

boolean more = stmt.execute("sparql select * from <gr> where { ?x ?y ?z }");
  ResultSetMetaData data = stmt.getResultSet().getMetaData();
  while(more)
  {

 rs = stmt.getResultSet();

 while(rs.next())

 {
      ...

 }

 more = stmt.getMoreResults();
  }
the server side of the triple: Java and the Semantic Web


Empire[12]: JPA for RDF

- Object Triples Mapper
- 4Store, Sesame and Jena support
- small annotation framework for tying Java beans
to RDF
-generate Java interfaces for classes described in an
OWL ontology automatically based on domain, range
constraints, cardinality restrictions
- runtime implementation generation
- IoC with Google Guice
the server side of the triple: Java and the Semantic Web


crawl the Web
 extract RDF from RDFa and
 Microformats with Any23

         index the data with SIREn

                   store the data on HBase

                      in one word: Sindice.com
successes, failures and hopes

Linked Data and RDFa seem to be the right
ways to trigger the “network effect” about
the usage of Semantic Web technologies

                                   data.gov.uk
successes, failures and hopes


Twine.com



it has been the first mainstream consumer
application of Semantic Web.

raised nearly $24mm of venture capital over 2 rounds
gaining users rapidly - faster than Twitter did in it’s early
years
Twine.com is going to be acquired by Evri.com
successes, failures and hopes


Twine.com




   “I can truly say they present significant challenges
   both to developers and to end-users.These
   challenges all stem from one underlying problem:
   Data storage.” - Nova Spivack CEO
successes, failures and hopes


GoodRelations: e-commerce on the Web of Data




huge impact on traditional search engines ranking

enabling cross-site product and offerings retrieval

Google rich snippets
successes, failures and hopes


GoodRelations: e-commerce on the Web of Data




GoodRelations and RDFa could heavily impact on
traditional SEO techniques

it may be a really powerful traction for an unleashed
usage of RDFa and semi-structured data on the Web
/me



Technologist @ Fondazione Bruno Kessler
Web of Data research Unit

twitter.com/dpalmisano
davidepalmisano.wordpress.com

wed.fbk.eu
a bunch of references
[1] http://www.cs.umd.edu/projects/plus/SHOE/
[2] http://www.jfsowa.com/cg/
[3] http://jena.sourceforge.net/
[4] http://www.openrdf.org/
[5] http://jrdf.sourceforge.net/
[6] http://developers.any23.org/
[7] http://alchemyapi.com
[8] http://opencalais.com
[9] http://incubator.apache.org/uima/
[10] http://siren.sindice.com/
[11] http://en.wikipedia.org/wiki/Triplestore/
[12] http://clarkparsia.com/weblog/2010/02/03/
empire-0-6/
1 of 64

Recommended

Get on the Linked Data Web! by
Get on the Linked Data Web!Get on the Linked Data Web!
Get on the Linked Data Web!Armin Haller
4.6K views75 slides
An introduction to Semantic Web and Linked Data by
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked DataGabriela Agustini
6.3K views203 slides
Introduction to the Semantic Web by
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebMarin Dimitrov
15.3K views88 slides
The Semantic Web by
The Semantic WebThe Semantic Web
The Semantic Webostephens
6.4K views29 slides
Introduction to the Semantic Web by
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebTomek Pluskiewicz
17.1K views51 slides
Semantic web by
Semantic web Semantic web
Semantic web Pallavi Srivastava
3.7K views35 slides

More Related Content

What's hot

Linked Data Tutorial by
Linked Data TutorialLinked Data Tutorial
Linked Data TutorialSören Auer
9.2K views73 slides
Taking Advantage of Semantic Web by
Taking Advantage of Semantic WebTaking Advantage of Semantic Web
Taking Advantage of Semantic WebSankaranand Balaradjou
3.6K views33 slides
Brief State of the Art - Semantic Web technologies for geospatial data - Mode... by
Brief State of the Art - Semantic Web technologies for geospatial data - Mode...Brief State of the Art - Semantic Web technologies for geospatial data - Mode...
Brief State of the Art - Semantic Web technologies for geospatial data - Mode...Ana Roxin
420 views35 slides
Usage of Linked Data: Introduction and Application Scenarios by
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosEUCLID project
33.3K views84 slides
09 semantic web & ontologies by
09 semantic web & ontologies09 semantic web & ontologies
09 semantic web & ontologiesMarina Santini
2.8K views73 slides
Sw 03-rdf and-rdfs by
Sw 03-rdf and-rdfsSw 03-rdf and-rdfs
Sw 03-rdf and-rdfsSTI Innsbruck
52 views68 slides

What's hot(20)

Linked Data Tutorial by Sören Auer
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
Sören Auer9.2K views
Brief State of the Art - Semantic Web technologies for geospatial data - Mode... by Ana Roxin
Brief State of the Art - Semantic Web technologies for geospatial data - Mode...Brief State of the Art - Semantic Web technologies for geospatial data - Mode...
Brief State of the Art - Semantic Web technologies for geospatial data - Mode...
Ana Roxin420 views
Usage of Linked Data: Introduction and Application Scenarios by EUCLID project
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
EUCLID project33.3K views
09 semantic web & ontologies by Marina Santini
09 semantic web & ontologies09 semantic web & ontologies
09 semantic web & ontologies
Marina Santini2.8K views
Corrib.org - OpenSource and Research by adameq
Corrib.org - OpenSource and ResearchCorrib.org - OpenSource and Research
Corrib.org - OpenSource and Research
adameq1K views
Ontologies and semantic web by Stanley Wang
Ontologies and semantic webOntologies and semantic web
Ontologies and semantic web
Stanley Wang1.9K views
Publishing and Using Linked Open Data - Day 1 by Richard Urban
Publishing and Using Linked Open Data - Day 1 Publishing and Using Linked Open Data - Day 1
Publishing and Using Linked Open Data - Day 1
Richard Urban3.2K views
Linked Open Data for Libraries by Lukas Koster
Linked Open Data for LibrariesLinked Open Data for Libraries
Linked Open Data for Libraries
Lukas Koster5.7K views
Explaining The Semantic Web by Sourav Sharma
Explaining The Semantic WebExplaining The Semantic Web
Explaining The Semantic Web
Sourav Sharma3.9K views
Publishing data on the Semantic Web by Peter Mika
Publishing data on the Semantic WebPublishing data on the Semantic Web
Publishing data on the Semantic Web
Peter Mika1.3K views
Build Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage by Ontotext
Build Narratives, Connect Artifacts: Linked Open Data for Cultural HeritageBuild Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage
Build Narratives, Connect Artifacts: Linked Open Data for Cultural Heritage
Ontotext1.1K views
Semantic Search Summer School2009 by Peter Mika
Semantic Search Summer School2009Semantic Search Summer School2009
Semantic Search Summer School2009
Peter Mika1.5K views
Year of the Monkey: Lessons from the first year of SearchMonkey by Peter Mika
Year of the Monkey: Lessons from the first year of SearchMonkeyYear of the Monkey: Lessons from the first year of SearchMonkey
Year of the Monkey: Lessons from the first year of SearchMonkey
Peter Mika742 views

Viewers also liked

Web 3.0 The Semantic Web by
Web 3.0 The Semantic WebWeb 3.0 The Semantic Web
Web 3.0 The Semantic WebHatem Mahmoud
139.8K views144 slides
The Social Semantic Web by
The Social Semantic WebThe Social Semantic Web
The Social Semantic WebJohn Breslin
75.5K views178 slides
Evolution Towards Web 3.0: The Semantic Web by
Evolution Towards Web 3.0: The Semantic WebEvolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic WebLeeFeigenbaum
39.4K views61 slides
Importance of antenatal care by
Importance of antenatal careImportance of antenatal care
Importance of antenatal careAbir Chowdhury
97.5K views53 slides
Understanding DPDK by
Understanding DPDKUnderstanding DPDK
Understanding DPDKDenys Haryachyy
102.5K views42 slides
An introduction to Semantic Web and Linked Data by
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataFabien Gandon
38.8K views228 slides

Viewers also liked(20)

Web 3.0 The Semantic Web by Hatem Mahmoud
Web 3.0 The Semantic WebWeb 3.0 The Semantic Web
Web 3.0 The Semantic Web
Hatem Mahmoud139.8K views
The Social Semantic Web by John Breslin
The Social Semantic WebThe Social Semantic Web
The Social Semantic Web
John Breslin75.5K views
Evolution Towards Web 3.0: The Semantic Web by LeeFeigenbaum
Evolution Towards Web 3.0: The Semantic WebEvolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic Web
LeeFeigenbaum39.4K views
Importance of antenatal care by Abir Chowdhury
Importance of antenatal careImportance of antenatal care
Importance of antenatal care
Abir Chowdhury97.5K views
An introduction to Semantic Web and Linked Data by Fabien Gandon
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
Fabien Gandon38.8K views
Drilling Engineering - Directional Drilling by James Craig
Drilling Engineering - Directional DrillingDrilling Engineering - Directional Drilling
Drilling Engineering - Directional Drilling
James Craig29.2K views
Internet of Things - Privacy and Security issues by Pierluigi Paganini
Internet of Things - Privacy and Security issuesInternet of Things - Privacy and Security issues
Internet of Things - Privacy and Security issues
Pierluigi Paganini43.1K views
What Makes Great Infographics by SlideShare
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
SlideShare1.1M views
Corporate Governance by Aliza Racelis
Corporate GovernanceCorporate Governance
Corporate Governance
Aliza Racelis52.6K views
Music Recommendation Tutorial by Oscar Celma
Music Recommendation TutorialMusic Recommendation Tutorial
Music Recommendation Tutorial
Oscar Celma115.7K views
Masters of SlideShare by Kapost
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
Kapost979.8K views
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare by Empowered Presentations
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
10 Ways to Win at SlideShare SEO & Presentation Optimization by Oneupweb
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
Oneupweb926.7K views
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ... by SlideShare
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
SlideShare1.1M views
Analysing Smart City Development in india by Omkar Parishwad
Analysing Smart City Development in indiaAnalysing Smart City Development in india
Analysing Smart City Development in india
Omkar Parishwad54.4K views
Assembly language 8086 by John Cutajar
Assembly language 8086Assembly language 8086
Assembly language 8086
John Cutajar52K views

Similar to From the Semantic Web to the Web of Data: ten years of linking up

SemWeb Fundamentals - Info Linking & Layering in Practice by
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeDan Brickley
8.3K views86 slides
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l... by
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...Ross Singer
392 views123 slides
Linked data 101: Getting Caught in the Semantic Web by
Linked data 101: Getting Caught in the Semantic Web Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web Morgan Briles
645 views17 slides
Exploring and using the Semantic Web - SSSW09 tutorial by
Exploring and using the Semantic Web - SSSW09 tutorialExploring and using the Semantic Web - SSSW09 tutorial
Exploring and using the Semantic Web - SSSW09 tutorialMathieu d'Aquin
857 views21 slides
Digital Library Applications Of Social Networking Jeju Intl Conference by
Digital Library Applications Of Social Networking Jeju Intl ConferenceDigital Library Applications Of Social Networking Jeju Intl Conference
Digital Library Applications Of Social Networking Jeju Intl Conferenceguestbba8ac
1.9K views59 slides
Digital Library Applications Of Social Networking by
Digital Library Applications Of Social Networking  Digital Library Applications Of Social Networking
Digital Library Applications Of Social Networking Linked Data Research Center, Seoul National University
1.2K views59 slides

Similar to From the Semantic Web to the Web of Data: ten years of linking up(20)

SemWeb Fundamentals - Info Linking & Layering in Practice by Dan Brickley
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
Dan Brickley8.3K views
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l... by Ross Singer
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
LITA 2010: The Linked Library Data Cloud: it's time to stop think and start l...
Ross Singer392 views
Linked data 101: Getting Caught in the Semantic Web by Morgan Briles
Linked data 101: Getting Caught in the Semantic Web Linked data 101: Getting Caught in the Semantic Web
Linked data 101: Getting Caught in the Semantic Web
Morgan Briles645 views
Exploring and using the Semantic Web - SSSW09 tutorial by Mathieu d'Aquin
Exploring and using the Semantic Web - SSSW09 tutorialExploring and using the Semantic Web - SSSW09 tutorial
Exploring and using the Semantic Web - SSSW09 tutorial
Mathieu d'Aquin857 views
Digital Library Applications Of Social Networking Jeju Intl Conference by guestbba8ac
Digital Library Applications Of Social Networking Jeju Intl ConferenceDigital Library Applications Of Social Networking Jeju Intl Conference
Digital Library Applications Of Social Networking Jeju Intl Conference
guestbba8ac1.9K views
when the link makes sense by Fabien Gandon
when the link makes sensewhen the link makes sense
when the link makes sense
Fabien Gandon2.5K views
Understanding the Standards Gap by Dan Brickley
Understanding the Standards GapUnderstanding the Standards Gap
Understanding the Standards Gap
Dan Brickley7.4K views
MR^3: Meta-Model Management based on RDFs Revision Reflection by Takeshi Morita
MR^3: Meta-Model Management based on RDFs Revision ReflectionMR^3: Meta-Model Management based on RDFs Revision Reflection
MR^3: Meta-Model Management based on RDFs Revision Reflection
Takeshi Morita796 views
SemanticWeb Nuts 'n Bolts by Rinke Hoekstra
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
Rinke Hoekstra2.1K views
Linked Data and Locah, UKSG2011 by Jane Stevenson
Linked Data and Locah, UKSG2011 Linked Data and Locah, UKSG2011
Linked Data and Locah, UKSG2011
Jane Stevenson1K views
RDFa Introductory Course Session 2/4 How RDFa by Platypus
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFa
Platypus729 views
Linked Open Data Fundamentals for Libraries, Archives and Museums by trevorthornton
Linked Open Data Fundamentals for Libraries, Archives and MuseumsLinked Open Data Fundamentals for Libraries, Archives and Museums
Linked Open Data Fundamentals for Libraries, Archives and Museums
trevorthornton1.3K views
Web 3 Mark Greaves by Mediabistro
Web 3 Mark GreavesWeb 3 Mark Greaves
Web 3 Mark Greaves
Mediabistro2.5K views
Linked Data and Libraries: What? Why? How? by Emily Nimsakont
Linked Data and Libraries: What? Why? How?Linked Data and Libraries: What? Why? How?
Linked Data and Libraries: What? Why? How?
Emily Nimsakont758 views

More from Davide Palmisano

beancounter.io - Social Web user profiling as a service #semtechbiz by
beancounter.io - Social Web user profiling as a service #semtechbiz beancounter.io - Social Web user profiling as a service #semtechbiz
beancounter.io - Social Web user profiling as a service #semtechbiz Davide Palmisano
1.1K views67 slides
NoTube: past, present and future by
NoTube: past, present and futureNoTube: past, present and future
NoTube: past, present and futureDavide Palmisano
400 views4 slides
Dear Sourcesense, don't you think it's time to make sense of #opendata as well? by
Dear Sourcesense, don't you think it's time to make sense of #opendata as well?Dear Sourcesense, don't you think it's time to make sense of #opendata as well?
Dear Sourcesense, don't you think it's time to make sense of #opendata as well?Davide Palmisano
699 views24 slides
distilling the Web of Data drop by drop (with Java) by
distilling the Web of Data drop by drop (with Java)distilling the Web of Data drop by drop (with Java)
distilling the Web of Data drop by drop (with Java)Davide Palmisano
841 views27 slides
Unwinding The Twine by
Unwinding The TwineUnwinding The Twine
Unwinding The TwineDavide Palmisano
1.3K views16 slides
NoTube Project Collecting Data Social Web by
NoTube Project Collecting Data Social WebNoTube Project Collecting Data Social Web
NoTube Project Collecting Data Social WebDavide Palmisano
450 views35 slides

More from Davide Palmisano(6)

beancounter.io - Social Web user profiling as a service #semtechbiz by Davide Palmisano
beancounter.io - Social Web user profiling as a service #semtechbiz beancounter.io - Social Web user profiling as a service #semtechbiz
beancounter.io - Social Web user profiling as a service #semtechbiz
Davide Palmisano1.1K views
Dear Sourcesense, don't you think it's time to make sense of #opendata as well? by Davide Palmisano
Dear Sourcesense, don't you think it's time to make sense of #opendata as well?Dear Sourcesense, don't you think it's time to make sense of #opendata as well?
Dear Sourcesense, don't you think it's time to make sense of #opendata as well?
Davide Palmisano699 views
distilling the Web of Data drop by drop (with Java) by Davide Palmisano
distilling the Web of Data drop by drop (with Java)distilling the Web of Data drop by drop (with Java)
distilling the Web of Data drop by drop (with Java)
Davide Palmisano841 views
NoTube Project Collecting Data Social Web by Davide Palmisano
NoTube Project Collecting Data Social WebNoTube Project Collecting Data Social Web
NoTube Project Collecting Data Social Web
Davide Palmisano450 views

Recently uploaded

Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...ShapeBlue
161 views13 slides
Optimizing Communication to Optimize Human Behavior - LCBM by
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBMYaman Kumar
38 views49 slides
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
147 views23 slides
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... by
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Moses Kemibaro
34 views38 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
222 views7 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
166 views28 slides

Recently uploaded(20)

Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue161 views
Optimizing Communication to Optimize Human Behavior - LCBM by Yaman Kumar
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBM
Yaman Kumar38 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue147 views
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... by Moses Kemibaro
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Moses Kemibaro34 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue222 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 views
Initiating and Advancing Your Strategic GIS Governance Strategy by Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software176 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue119 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue126 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li85 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue198 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue263 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue135 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue221 views
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada44 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays56 views

From the Semantic Web to the Web of Data: ten years of linking up

  • 1. from the Semantic Web to the Web of Data ten years of linking up Lugano 30-03-2010 Davide Palmisano - Fondazione Bruno Kessler
  • 2. a short ToC story of a buzzword concepts and ideas behind it Linked Data: four rules, billions of opportunities the server side of the triple: Java and the Semantic Web successes, failures and hopes
  • 3. story of a buzzword “To a computer, the Web is a flat, boring world devoid of meaning.” “A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities” “The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, ”
  • 4. story of a buzzword
  • 5. story of a buzzword
  • 6. story of a buzzword
  • 7. story of a buzzword “Adding semantics to the web involves two things: allowing documents which have information in machine-readable forms, and allowing links to be created with relationship values.”
  • 8. story of a buzzword typed objects and relationships machine-readable content metadata with shared semantics The Web as a global giant decentralized database
  • 9. concepts and ideas behind it
  • 10. concepts and ideas behind it How to represent the knowledge ?
  • 11. concepts and ideas behind it How to represent the knowledge ? World’s academic communities dealt for years with knowledge representation artificial intelligence, natural language processing, model management and many other research fields largely contributed some ancestors traced the way
  • 12. concepts and ideas behind it SHOE[1] “SHOE is an extension to HTML which allows authors to annotate their web pages with machine-readable knowledge” <USE-ONTOLOGY ID="cs-dept-ontology" VERSION="1.0" PREFIX="cs" URL= "http://www.cs.umd.edu/projects/plus/SHOE/cs.html"> <CATEGORY NAME="cs.Professor" FOR="http://www.cs.umd.edu/users/hendler/"> <RELATION NAME="cs.member">     <ARG POS=1 VALUE="http://www.cs.umd.edu/projects/plus/">     <ARG POS=2 VALUE="http://www.cs.umd.edu/users/hendler/"> </RELATION> <RELATION NAME="cs.name">    <ARG POS=2 VALUE="Dr. James Hendler"> </RELATION>
  • 13. concepts and ideas behind it John Sowa’s Conceptual Graphs [2] (...) they express meaning in a form that is logically precise, humanly readable, and computationally tractable (...) BOY AGNT WALK “boy walking”
  • 14. concepts and ideas behind it declining such approaches in a unpredictable decentralized potentially incoherent environment as the Web is has been the goal of a standardization effort mainly lead by the W3C
  • 15. concepts and ideas behind it Resource Description Framework RDF corner stone of the Semantic Web technology stack 1999, first publication directed and labeled graphs as data model
  • 16. concepts and ideas behind it everything is univocally identifiable with a Uniform Resource Identifier a web page, a person, a book, an intangible thing http://dpalmisano.myopenid.com http://dbpedia.org/resource/Lugano http://dbtune.org/myspace/coldplay
  • 17. concepts and ideas behind it relationships between things could be expressed with a directed, labeled graph where nodes could be resources or XMLSchema-typed values and relationships are identified also by URIs
  • 18. concepts and ideas behind it http://dpalmisano.myopenid.com http://sws.geonames.org/3165243/
  • 19. concepts and ideas behind it http://dpalmisano.myopenid.com http://xmlns.com/foaf/0.1/based_near http://sws.geonames.org/3165243/ it’s an RDF triple
  • 20. concepts and ideas behind it http://dpalmisano.myopenid.com http://xmlns.com/foaf/0.1/based_near http://sws.geonames.org/3165243/ http://www.geonames.org/ontology#name Trento
  • 21. concepts and ideas behind it http://dpalmisano.myopenid.com http://xmlns.com/foaf/0.1/based_near http://sws.geonames.org/3165243/ http://www.geonames.org/ ontology#population http://www.geonames.org/ontology#name 104946 Trento
  • 22. concepts and ideas behind it http://xmlns.com/foaf/0.1/based_near http://dpalmisano.myopenid.com http://sws.geonames.org/3165243/ XML serialization <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <rdf:Description rdf:about="http://dpalmisano.myopenid.com/"> <foaf:based_near rdf:resource="http://sws.geonames.org/ 3165243/"/> </rdf:Description> </rdf:RDF>
  • 23. concepts and ideas behind it http://xmlns.com/foaf/0.1/based_near http://dpalmisano.myopenid.com http://sws.geonames.org/3165243/ Turtle serialization @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . <http://dpalmisano.myopenid.com/> foaf:based_near <http:// sws.geonames.org/3165243/> .
  • 24. concepts and ideas behind it http://xmlns.com/foaf/0.1/based_near http://dpalmisano.myopenid.com http://sws.geonames.org/3165243/ N3 serialization <http://dpalmisano.myopenid.com/> <http://xmlns.com/foaf/0.1/ based_near> <http://sws.geonames.org/3165243/> .
  • 25. concepts and ideas behind it http://xmlns.com/foaf/0.1/based_near http://dpalmisano.myopenid.com http://sws.geonames.org/3165243/ JSON serialization { "http://dpalmisano.myopenid.com" : { "http://xmlns.com/foaf/0.1/based_near": [ { "type" : "uri" , "value" : "http://sws.geonames.org/3165243/" } ] } }
  • 26. concepts and ideas behind it http://xmlns.com/foaf/0.1/based_near http://dpalmisano.myopenid.com http://sws.geonames.org/3165243/ this triple represents a relationship between two resources but how we can represent the meaning of that relationship? defining vocabularies and ontologies: RDFSchema and OWL
  • 27. concepts and ideas behind it an “Hello World” RDFSchema vocabulary rdf:type http://helloworld.com/ontology/Person http://helloworld.com/ontology/father rdf:type rdf:type rdf:type rdfs:Class rdfs:Property
  • 28. concepts and ideas behind it RDFSchema entailment: inferring new statements http://helloworld.com/ontology/Person http://helloworld.com/resource/Michele rdf:type http://helloworld.com/ontology/father http://helloworld.com/resource/Davide
  • 29. concepts and ideas behind it RDFSchema entailment: inferring new statements http://helloworld.com/ontology/Person rdf:type http://helloworld.com/resource/Michele rdf:type http://helloworld.com/ontology/father http://helloworld.com/resource/Davide
  • 30. concepts and ideas behind it OWL allows to specify other axioms property cardinality restrictions classes disjunction property transitivity cardinality constraints but beware: more expressivity means more reasoning complexity interested in these topics? give a try to [3]
  • 31. concepts and ideas behind it describe everything... and more...
  • 32. concepts and ideas behind it RDFa: Bridging the traditional Web with the Semantic Web <div rel="dc:creator"> <span typeof="foaf:Person" about="http://foafbuilder.qdos.com/people/ dpalmisano.myopenid.com/foaf.rdf#me"> <a property="foaf:name" rel="foaf:homepage" href="http:// dpalmisano.myopenid.com/">Davide Palmisano</a> <a rel="foaf:workplaceHomepage" href="http://www.fbk.eu">Fondazione Bruno Kessler</a> </span> </div>
  • 33. concepts and ideas behind it SPARQL: querying the Semantic Web based on graph pattern matching SPARQL Protocol and RDF Query Language 4 different operators: SELECT, DESCRIBE, ASK and CONSTRUCT
  • 34. concepts and ideas behind it SPARQL: querying the Semantic Web SELECT ?person WHERE { ?person a foaf:Person. ?person ex:age ?age. FILTER(?age > 18) }
  • 35. concepts and ideas behind it SPARQL: querying the Semantic Web “In which university have studied the founders of successful IT companies?” and order them by frequency...
  • 36. concepts and ideas behind it SELECT DISTINCT ?almaMater, count(?almaMater) as ?frequency WHERE { { {?company a dbpedia-owl:Company} UNION { ?company a yago:InternetCompaniesOfTheUnitedStates } UNION  {?company a yago:CompaniesBasedInSiliconValley} UNION {?company a yago:CompaniesListedOnNASDAQ} } ?company dbpedia-owl:numberOfEmployees ?numberOfEmpl. FILTER (?numberOfEmpl > 0). OPTIONAL { ?company dbpedia-owl:keyPerson ?keyPerson } ?keyPerson dbpprop:almaMater ?almaMater. } ORDER BY DESC(?frequency)
  • 37. Linked Data: four rules, billions of opportunities 1. Use URIs to identify things. 2. Use HTTP URIs so that these things can be referred to and looked up ("dereference") by people and user agents. 3. Provide useful information (i.e., a structured description - metadata) about the thing when its URI is dereferenced. 4. Include links to other, related URIs in the exposed data to improve discovery of other related information on the Web.
  • 38. Linked Data: four rules, billions of opportunities DBpedia: Wikipedia as a database extract such structured info and represent it with RDF
  • 39. Linked Data: four rules, billions of opportunities let’s do it also for Internet Movie Database BBC /programmes CiteSeer GeoNames Musicbrainz CIA factbook and for all imaginable data- intensive traditional Web sites...
  • 40. Linked Data: four rules, billions of opportunities
  • 41. the server side of the triple: Java and the Semantic Web
  • 42. the server side of the triple: Java and the Semantic Web RDF is the model SPARQL is the query language RDFa is our Trojan horse Linked Data is the paradigm how does it fit with Java?
  • 43. the server side of the triple: Java and the Semantic Web Semantic Web general purposes open sources libraries Jena[3] - The Semantic Web Java framework - a RDF API - parsing and writing RDF in RDF/XML, N3 and N-Triples - an OWL API - In-memory storage and persistence layer - SPARQL query engine - Schemagen: Java classes from a RDFSchema vocabulary
  • 44. the server side of the triple: Java and the Semantic Web Jena: creating a model // URI declarations String familyUri = "http://family/"; String relationshipUri = "http://purl.org/vocab/relationship/"; // Create an empty Model Model model = ModelFactory.createDefaultModel(); // Create a Resource for each family member, identified by their URI Resource adam = model.createResource(familyUri+"adam"); Resource beth = model.createResource(familyUri+"beth"); // Create properties for the different types of relationship to represent Property siblingOf = model.createProperty(relationshipUri,"siblingOf"); // Add properties to adam describing relationships to other family members adam.addProperty(siblingOf,beth);
  • 45. the server side of the triple: Java and the Semantic Web Jena: querying the model // Create a new query passing a String containing the RDQL to execute Query query = new Query(queryString); // Set the model to run the query against query.setSource(model); // Use the query to create a query engine QueryEngine qe = new QueryEngine(query); // Use the query engine to execute the query QueryResults results = qe.exec(); while (results.hasNext()) { ResultBinding binding = (ResultBinding)results.next(); RDFNode definition = (RDFNode) binding.get("definition"); System.out.println(definition.toString()); Resource concept = (Resource)binding.get("concept"); List wordforms = concept.listObjectsOfProperty(wordForm); }
  • 46. the server side of the triple: Java and the Semantic Web other valuable alternatives Sesame[4] - a generic open source Java framework for storage and querying of RDF data - easy, elegant and well documented jRDF[5] - an RDF library for Java - notable for IoC support (Spring 2)
  • 47. the server side of the triple: Java and the Semantic Web getting RDF data Any23[6] - Anything to Triples - a library - a Web service - a CLI - allows to extract RDF from various sources: - Microformats: Adr, Geo, hCalendar, hCard, hListing, hResume, hReview, License and XFN - RDF/XML, Turtle and Notation3 - RDF/XML, N3, Turtle and content-negotiated serialization supported
  • 48. the server side of the triple: Java and the Semantic Web Any23: rdf extraction /*1*/ Any23 runner = new Any23(); /*2*/ runner.setHTTPUserAgent("test-user-agent"); /*3*/ HTTPClient httpClient = runner.getHTTPClient(); /*4*/ DocumentSource source = new HTTPDocumentSource(          httpClient,          "http://www.rentalinrome.com/semanticloft/semanticloft.htm"       ); /*5*/ ByteArrayOutputStream out = new ByteArrayOutputStream(); /*6*/ TripleHandler handler = new NTriplesWriter(out); /*7*/ runner.extract(source, handler); /*8*/ String n3 = out.toString("UTF-8");
  • 49. the server side of the triple: Java and the Semantic Web Any23 deals with such documents that already contains some RDF metadata extracting the semantics from free-text and disambiguate terms with links to some Linked Data cloud it’s another story a pletora of different services - AlchemyAPI[7] - OpenCalais[8]
  • 50. the server side of the triple: Java and the Semantic Web The world's largest maker of solar inverters announced Monday that it will locate its first North American manufacturing plant in Denver. "We see a huge market coming in the U.S.," said Pierre-Pascal Urbon, the company's chief financial officer. The company, based in Kassel, north of Frankfurt, Germany, boasts growing sales of about $1.2 billion a year.
  • 51. the server side of the triple: Java and the Semantic Web The world's largest maker of solar inverters announced Monday that it will locate its first North American manufacturing plant in Denver. "We see a huge market coming in the U.S.," said Pierre-Pascal Urbon, the company's chief financial officer. The company, based in Kassel, north of Frankfurt, Germany, boasts growing sales of about $1.2 billion a year. http://dbpedia.org/resource/Frankfurt http://dbpedia.org/resource/Denver http://dbpedia.org/resource/Kassel
  • 52. the server side of the triple: Java and the Semantic Web exposed as HTTP Web services they provide responses in XML, RDF/XML, RDFa or JSON Apache UIMA comes with two annotators for AlchemyAPI and OpenCalais[9]
  • 53. the server side of the triple: Java and the Semantic Web indexing RDF data SIREn[10]: Efficient semi-structured Information Retrieval for Lucene - a plugin for Lucene - extends the Lucene query model - semi-structured search - structure aware full-text search - ranked semi-structured search: most relevant results returned first - sub-linear average response time - flexible semi-structured indexing
  • 54. the server side of the triple: Java and the Semantic Web storing RDF data commonly known as “triple-stores”[11] “let me insert triples and make SPARQL queries above them” - OpenLink Virtuoso - 4Store - Redland - Jena or Sesame over a RDBMS
  • 55. the server side of the triple: Java and the Semantic Web JDBC and Virtuoso boolean more = stmt.execute("sparql select * from <gr> where { ?x ?y ?z }"); ResultSetMetaData data = stmt.getResultSet().getMetaData(); while(more) { rs = stmt.getResultSet(); while(rs.next()) { ... } more = stmt.getMoreResults(); }
  • 56. the server side of the triple: Java and the Semantic Web Empire[12]: JPA for RDF - Object Triples Mapper - 4Store, Sesame and Jena support - small annotation framework for tying Java beans to RDF -generate Java interfaces for classes described in an OWL ontology automatically based on domain, range constraints, cardinality restrictions - runtime implementation generation - IoC with Google Guice
  • 57. the server side of the triple: Java and the Semantic Web crawl the Web extract RDF from RDFa and Microformats with Any23 index the data with SIREn store the data on HBase in one word: Sindice.com
  • 58. successes, failures and hopes Linked Data and RDFa seem to be the right ways to trigger the “network effect” about the usage of Semantic Web technologies data.gov.uk
  • 59. successes, failures and hopes Twine.com it has been the first mainstream consumer application of Semantic Web. raised nearly $24mm of venture capital over 2 rounds gaining users rapidly - faster than Twitter did in it’s early years Twine.com is going to be acquired by Evri.com
  • 60. successes, failures and hopes Twine.com “I can truly say they present significant challenges both to developers and to end-users.These challenges all stem from one underlying problem: Data storage.” - Nova Spivack CEO
  • 61. successes, failures and hopes GoodRelations: e-commerce on the Web of Data huge impact on traditional search engines ranking enabling cross-site product and offerings retrieval Google rich snippets
  • 62. successes, failures and hopes GoodRelations: e-commerce on the Web of Data GoodRelations and RDFa could heavily impact on traditional SEO techniques it may be a really powerful traction for an unleashed usage of RDFa and semi-structured data on the Web
  • 63. /me Technologist @ Fondazione Bruno Kessler Web of Data research Unit twitter.com/dpalmisano davidepalmisano.wordpress.com wed.fbk.eu
  • 64. a bunch of references [1] http://www.cs.umd.edu/projects/plus/SHOE/ [2] http://www.jfsowa.com/cg/ [3] http://jena.sourceforge.net/ [4] http://www.openrdf.org/ [5] http://jrdf.sourceforge.net/ [6] http://developers.any23.org/ [7] http://alchemyapi.com [8] http://opencalais.com [9] http://incubator.apache.org/uima/ [10] http://siren.sindice.com/ [11] http://en.wikipedia.org/wiki/Triplestore/ [12] http://clarkparsia.com/weblog/2010/02/03/ empire-0-6/