SlideShare a Scribd company logo
1 of 20
Download to read offline
Joshua Shinavier, Jans Aasman

   Real-time Semantic Web
  with Twitter Annotations




2010 Semantic Technology Conference
            June 24th, 2010
Overview


•   real-time social data and the Semantic Web

•   Twitter Annotations

•   vocabulary mappings for Annotations

•   use cases

•   data integration with TwitLogic

•   real-time, real-place Semantic search




                           2
Towards real-time Semantic Web


•   let’s mash up the “real-time” social Web with the
    Semantic Web

•   requires rich, structured data

•   services such as Facebook and Twitter are beginning
    to supply this data

    •   e.g. Twitter Places, Twitter Annotations




                             3
Twitter Annotations



•   Annotations are structured data attached to a tweet

•   expressed in JSON or XML

•   constrained structure, open vocabulary

•   consist of “types” (like classes) and “attributes” (like
    properties)

•   coming soon!




                              4
Annotations example

...
"text":"the Karate Kids: karate vs. kung fu...",
"annotations":[
    {"movie":{
       "title":"The Karate Kid",
       "url":"http://www.rottentomatoes.com/m/karate_kid/",
       "text":"The Karate Kid (1984)"}},
    {"movie":{
       "title":"The Karate Kid",
       "url":"http://www.rottentomatoes.com/m/karate_kid_2010",
       "text":"The Karate Kid (2010)"}}],
...




                                 5
Annotations are community-driven


•   recommended types include:

    •   web pages, places, reviews, songs, movies, TV
        shows, books, products and product offerings,
        stocks, events...

•   ...but these are just a starting point

•   Twitter aims to borrow from RDFa, Microformats,
    Facebook Open Graph, AB Meta and
    Activitystrea.ms




                             6
Annotations + Semantic Web

    •   how do we interlink Annotations
        vocabularies?

    •   how do we interlink the data?

    •   how do we query over the data?

    •   these are Semantic Web problems

    •   why not:

        •   map types into existing Semantic Web
            vocabularies

        •   link Annotations resources into
            existing Linked Data datasets


                     7
Annotations types             ontologies
“webpage”               foaf:Document
 “place”               geonames:Feature
 “review”                 rev:Review
  “song”                  mo:Track
 “movie”                  movie:film
 “tvshow”                 po:Series
“product”   gr:ActualProductOrServiceInstance
  “offer”                 gr:Offering
 “event”                 event:Event
    ...                       ...
                   8
Linking into the Semantic Web

...
"text":"the Karate Kids: karate vs. kung fu...",
"annotations":[
    {"movie":{
       "title":"The Karate Kid",
       "url":"http://www.rottentomatoes.com/m/karate_kid",
       "text":"The Karate Kid (1984)”,
       "sameas":"http://dbpedia.org/resource/The_Karate_Kid"}},
    {"movie":{
       "title":"The Karate Kid",
       "url":"http://www.rottentomatoes.com/m/karate_kid_2010",
       "text":"The Karate Kid (2010)",
       "sameas":"http://dbpedia.org/resource/The_Karate_Kid_
%282010_film%29"}}],
...




                                 9
“Stream me tweets about...
           ...places in developing countries”




PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX geonames: <http://www.geonames.org/ontology#>
SELECT DISTINCT ?post WHERE {
    ?post sioc:embeds_knowledge ?graph .
    ?post sioc:topic ?place .
    GRAPH ?graph {
        ?place rdf:type geonames:Feature .
        ?place owl:sameAs ?geoplace .
    } .
    ?geoplace geonames:inCountry ?c .
    ?country geonames:inCountry ?c .
    ?country owl:sameAs ?dbc .
    ?dbc rdf:type <http://dbpedia.org/class/yago/LeastDevelopedCountries> .
}



                                     10
“Stream me tweets about...
...English-language movies starring Chinese actors”




  PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
  PREFIX owl: <http://www.w3.org/2002/07/owl#>
  PREFIX sioc: <http://rdfs.org/sioc/ns#>
  PREFIX dbo: <http://dbpedia.org/ontology/>
  SELECT DISTINCT ?post WHERE {
      ?post sioc:embeds_knowledge ?graph .
      ?post sioc:topic ?movie .
      GRAPH ?graph {
          ?movie rdf:type dbo:Film .
          ?movie owl:sameAs ?dbmovie .
      } .
      ?dbmovie dbo:language <http://dbpedia.org/resource/English_language> .
      ?dbmovie dbo:starring ?actor .
      ?actor rdf:type <http://dbpedia.org/class/yago/ChineseActors> .
  }




                                       11
“Stream me tweets about...
           ...songs by artists my friends like”



                                   FOAF

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX sioc: <http://rdfs.org/sioc/ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?post WHERE {
    ?post sioc:embeds_knowledge ?graph .
    ?post sioc:topic ?song .
    GRAPH ?graph {
        ?song rdf:type mo:Track .
        ?song owl:sameAs ?mbtrack .
    } .
    ?album mo:track ?mbtrack .
    ?artist foaf:made ?album .
    ?friend foaf:interest ?artist .
    ?me foaf:knows ?friend .
}



                                     12
An emerging ecosystem




•   TwitLogic: Twitter streams to RDF streams

•   SMOB Semantic Microblogging Framework

•   sparqlPuSH transport layer for RDF streams

•   Twarql: Twitter feeds through SPARQL

•   C-SPARQL: SPARQL for continuous querying



                       13
TwitLogic



           •   capture Twitter data

           •   translate it into RDF

           •   produce an RDF stream

           •   publish it as Linked Data

               •   preserve attribution

           •   provide real-time search




      14
@prefix sioc: <http://rdfs.org/sioc/ns#> .
[...]

{
    <http://twitlogic.fortytwo.net/post/twitter/16810997455>
       a sioct:MicroblogPost ;
       dc:created "2010-06-23T00:43:35.000Z"^^xsd:dateTime ;
       geo:location <http://twitlogic.fortytwo.net/location/twitter/d0fc0f618c1eb790> ;
       sioc:content "the Karate Kids: karate vs. kung fu..." ;
       sioc:has_creator <http://twitlogic.fortytwo.net/user/twitter/7083182> ;
       sioc:topic
          <http://twitlogic.fortytwo.net/topic/2121544629>,
          <http://twitlogic.fortytwo.net/topic/1462827592> ;
       sioc:embeds_knowledge <http://twitlogic.fortytwo.net/graph/twitter/16810997455> .

    <http://twitlogic.fortytwo.net/graph/twitter/16810997455>
        a rdfg:Graph .

    <http://twitlogic.fortytwo.net/location/twitter/d0fc0f618c1eb790>
       a geonames:Feature , <http://dbpedia.org/resource/City> ;
       dc:title "Half Moon Bay, CA" ;
       geo:lat "32.528832"^^xsd:double ;
       geo:long "-124.482003"^^xsd:double ;
       rdfs:seeAlso <http://api.twitter.com/1/geo/id/d0fc0f618c1eb790.json> ;
       rdfs:label "Half Moon Bay" ;
       geonames:countryCode "US" .
}

<http://twitlogic.fortytwo.net/graph/twitter/16810997455> {
   <http://twitlogic.fortytwo.net/topic/2121544629>
       a dbo:Film ;
       dc:title "The Karate Kid" ;
       rdfs:label "The Karate Kid (1984)" ;
       foaf:page <http://www.rottentomatoes.com/m/karate_kid> ;
       owl:sameAs <http://dbpedia.org/resource/The_Karate_Kid> .
   <http://twitlogic.fortytwo.net/topic/1462827592>
       a dbo:Film ;
       dc:title "The Karate Kid" ;
       rdfs:label "The Karate Kid (2010)" ;
       foaf:page <http://www.rottentomatoes.com/m/karate_kid_2010> ;
       owl:sameAs <http://dbpedia.org/resource/The_Karate_Kid_%282010_film%29> .
}



                        15
Keeping track of who said what

•   in Twitter, users own their content

    •   claim: Annotations are user content

•   when mashing up data from different users...

    •   we need to preserve statement provenance

    •   use Named Graphs with provenance vocabularies

•   copyright information preserves authors’ rights

    •   attribution metadata for each tweet

    •   TwitLogic uses Open Data Commons PDDL



                            16
Real-time, real-place semantic search
      •   Geospatial SPARQL in Allegrograph:

          •   order by distance

          •   query for points within a geospatial circle, bounding
              box, or polygon

          •   temporal reasoning

(google-map (select (?name ?lat ?lon)
   (q ?t !sioc:has_creator ?person)
   (q ?t !wgs84:location ?x)
   (q ?t !dc:created ?time)
   (temporal-within ?time "20100622T10:15:00"
                          "20100624T10:15:00")
   (geo-within-radius ?x ?y 10 miles)
   (q ?y !geo:asciiname ?name)
   (q ?y !geo:isAt5 ?pos)
   (pos->lon/lat ?pos ?lon ?lat)))




                                            17
A demo




  18
Conclusion

•   streaming structured data such as Annotations are the
    “real-time” equivalent of RDFa

    •   easy to use, *will* be used

    •   Semantic Web -compatible

•   mashups with the Semantic Web benefit:

    •   the end user (--> smarter applications)

    •   the application developer (--> less case-by-case
        development)

    •   the Semantic Web itself (--> “long tail” of real-time data)

•   this is a good time to influence Annotations formats, build
    applications

                                 19
Thanks!

•   TwitLogic

    •   http://twitlogic.fortytwo.net

•   AllegroGraph

    •   http://www.franz.com/agraph/allegrograph/

•   Contact

    •   josh@fortytwo.net, ja@franz.com

    •   @joshsh, @jansaasman, @franzinc




                             20

More Related Content

Viewers also liked

Viewers also liked (20)

Final_Presentation
Final_PresentationFinal_Presentation
Final_Presentation
 
Enhancing Our Capacity for Large Health Dataset Analysis
Enhancing Our Capacity for Large Health Dataset AnalysisEnhancing Our Capacity for Large Health Dataset Analysis
Enhancing Our Capacity for Large Health Dataset Analysis
 
Project a twitter dataset analysis
Project a twitter dataset analysisProject a twitter dataset analysis
Project a twitter dataset analysis
 
Mesoscale Structures in Networks
Mesoscale Structures in NetworksMesoscale Structures in Networks
Mesoscale Structures in Networks
 
Network stats using Gephi
Network stats using GephiNetwork stats using Gephi
Network stats using Gephi
 
Semantic Web For Distributed Social Networks
Semantic Web For Distributed Social NetworksSemantic Web For Distributed Social Networks
Semantic Web For Distributed Social Networks
 
The Semantic Web: 2010 Update
The Semantic Web: 2010 Update The Semantic Web: 2010 Update
The Semantic Web: 2010 Update
 
The Semantic Web (and what it can deliver for your business)
The Semantic Web (and what it can deliver for your business)The Semantic Web (and what it can deliver for your business)
The Semantic Web (and what it can deliver for your business)
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
The semantic web
The semantic webThe semantic web
The semantic web
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 
The Standardization of Semantic Web Ontology
The Standardization of Semantic Web OntologyThe Standardization of Semantic Web Ontology
The Standardization of Semantic Web Ontology
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
Semantic Web
Semantic WebSemantic Web
Semantic Web
 
Semantic Web and Ontology Seminar by Peakmaker
Semantic Web and Ontology Seminar by PeakmakerSemantic Web and Ontology Seminar by Peakmaker
Semantic Web and Ontology Seminar by Peakmaker
 
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
RDF and SPARQL for PHP Developers (at New York Semantic Web Meetup)
 
Semantic web
Semantic webSemantic web
Semantic web
 
4 semantic web and ontology
4 semantic web and ontology4 semantic web and ontology
4 semantic web and ontology
 
Semantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information SpacesSemantic Web 2.0: Creating Social Semantic Information Spaces
Semantic Web 2.0: Creating Social Semantic Information Spaces
 
The Semantic Web
The Semantic WebThe Semantic Web
The Semantic Web
 

Similar to Real-time Semantic Web with Twitter Annotations

YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internet
drgath
 
IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013
Stuart Myles
 
The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of Agents
Joshua Shinavier
 
Needle in an enterprise haystack
Needle in an enterprise haystackNeedle in an enterprise haystack
Needle in an enterprise haystack
Andrew Mleczko
 
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic WebESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
eswcsummerschool
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticweb
Aneta Tu
 

Similar to Real-time Semantic Web with Twitter Annotations (20)

YQL: Select * from Internet
YQL: Select * from InternetYQL: Select * from Internet
YQL: Select * from Internet
 
WTF is Semantic Web?
WTF is Semantic Web?WTF is Semantic Web?
WTF is Semantic Web?
 
YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internet
 
IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013
 
Economies of Scaling Software
Economies of Scaling SoftwareEconomies of Scaling Software
Economies of Scaling Software
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
(Re-) Discovering Lost Web Pages
(Re-) Discovering Lost Web Pages(Re-) Discovering Lost Web Pages
(Re-) Discovering Lost Web Pages
 
iSoligorsk #3 2013
iSoligorsk #3 2013iSoligorsk #3 2013
iSoligorsk #3 2013
 
The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of Agents
 
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs  - Front in Bahia...
Linked Data in Use: Schema.org, JSON-LD and hypermedia APIs - Front in Bahia...
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
 
Needle in an enterprise haystack
Needle in an enterprise haystackNeedle in an enterprise haystack
Needle in an enterprise haystack
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
 
Understanding the Standards Gap
Understanding the Standards GapUnderstanding the Standards Gap
Understanding the Standards Gap
 
Linked opendata parisemantique.fr - 24062011
Linked opendata   parisemantique.fr - 24062011Linked opendata   parisemantique.fr - 24062011
Linked opendata parisemantique.fr - 24062011
 
Bio2RDF@BH2010
Bio2RDF@BH2010Bio2RDF@BH2010
Bio2RDF@BH2010
 
TinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsTinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBs
 
BBC Linked Data Platform (SemTechBiz San Fran 2013)
BBC Linked Data Platform (SemTechBiz San Fran 2013)BBC Linked Data Platform (SemTechBiz San Fran 2013)
BBC Linked Data Platform (SemTechBiz San Fran 2013)
 
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic WebESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
ESWC SS 2013 - Tuesday Keynote Steffen Staab: Programming the Semantic Web
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticweb
 

More from Joshua Shinavier

More from Joshua Shinavier (15)

Anything-to-Graph
Anything-to-GraphAnything-to-Graph
Anything-to-Graph
 
Transpilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing HydraTranspilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing Hydra
 
TinkerPop 2020
TinkerPop 2020TinkerPop 2020
TinkerPop 2020
 
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
An Algebraic Data Model for Graphs and Hypergraphs (Category Theory meetup, N...
 
In Search of the Universal Data Model (ISWC 2019 Minute Madness)
In Search of the Universal Data Model (ISWC 2019 Minute Madness)In Search of the Universal Data Model (ISWC 2019 Minute Madness)
In Search of the Universal Data Model (ISWC 2019 Minute Madness)
 
In Search of the Universal Data Model (Connected Data London 2019)
In Search of the Universal Data Model (Connected Data London 2019)In Search of the Universal Data Model (Connected Data London 2019)
In Search of the Universal Data Model (Connected Data London 2019)
 
Algebraic Property Graphs (GQL Community Update, oct. 9, 2019)
Algebraic Property Graphs (GQL Community Update, oct. 9, 2019)Algebraic Property Graphs (GQL Community Update, oct. 9, 2019)
Algebraic Property Graphs (GQL Community Update, oct. 9, 2019)
 
Building an Enterprise Knowledge Graph @Uber: Lessons from Reality
Building an Enterprise Knowledge Graph @Uber: Lessons from RealityBuilding an Enterprise Knowledge Graph @Uber: Lessons from Reality
Building an Enterprise Knowledge Graph @Uber: Lessons from Reality
 
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
A Graph is a Graph is a Graph: Equivalence, Transformation, and Composition o...
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph Schema
 
Semantics and Sensors
Semantics and SensorsSemantics and Sensors
Semantics and Sensors
 
semantic markup using schema.org
semantic markup using schema.orgsemantic markup using schema.org
semantic markup using schema.org
 
Linked Process
Linked ProcessLinked Process
Linked Process
 
Real-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 charsReal-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 chars
 
The state of the art in Linked Data
The state of the art in Linked DataThe state of the art in Linked Data
The state of the art in Linked Data
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Real-time Semantic Web with Twitter Annotations

  • 1. Joshua Shinavier, Jans Aasman Real-time Semantic Web with Twitter Annotations 2010 Semantic Technology Conference June 24th, 2010
  • 2. Overview • real-time social data and the Semantic Web • Twitter Annotations • vocabulary mappings for Annotations • use cases • data integration with TwitLogic • real-time, real-place Semantic search 2
  • 3. Towards real-time Semantic Web • let’s mash up the “real-time” social Web with the Semantic Web • requires rich, structured data • services such as Facebook and Twitter are beginning to supply this data • e.g. Twitter Places, Twitter Annotations 3
  • 4. Twitter Annotations • Annotations are structured data attached to a tweet • expressed in JSON or XML • constrained structure, open vocabulary • consist of “types” (like classes) and “attributes” (like properties) • coming soon! 4
  • 5. Annotations example ... "text":"the Karate Kids: karate vs. kung fu...", "annotations":[ {"movie":{ "title":"The Karate Kid", "url":"http://www.rottentomatoes.com/m/karate_kid/", "text":"The Karate Kid (1984)"}}, {"movie":{ "title":"The Karate Kid", "url":"http://www.rottentomatoes.com/m/karate_kid_2010", "text":"The Karate Kid (2010)"}}], ... 5
  • 6. Annotations are community-driven • recommended types include: • web pages, places, reviews, songs, movies, TV shows, books, products and product offerings, stocks, events... • ...but these are just a starting point • Twitter aims to borrow from RDFa, Microformats, Facebook Open Graph, AB Meta and Activitystrea.ms 6
  • 7. Annotations + Semantic Web • how do we interlink Annotations vocabularies? • how do we interlink the data? • how do we query over the data? • these are Semantic Web problems • why not: • map types into existing Semantic Web vocabularies • link Annotations resources into existing Linked Data datasets 7
  • 8. Annotations types ontologies “webpage” foaf:Document “place” geonames:Feature “review” rev:Review “song” mo:Track “movie” movie:film “tvshow” po:Series “product” gr:ActualProductOrServiceInstance “offer” gr:Offering “event” event:Event ... ... 8
  • 9. Linking into the Semantic Web ... "text":"the Karate Kids: karate vs. kung fu...", "annotations":[ {"movie":{ "title":"The Karate Kid", "url":"http://www.rottentomatoes.com/m/karate_kid", "text":"The Karate Kid (1984)”, "sameas":"http://dbpedia.org/resource/The_Karate_Kid"}}, {"movie":{ "title":"The Karate Kid", "url":"http://www.rottentomatoes.com/m/karate_kid_2010", "text":"The Karate Kid (2010)", "sameas":"http://dbpedia.org/resource/The_Karate_Kid_ %282010_film%29"}}], ... 9
  • 10. “Stream me tweets about... ...places in developing countries” PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX sioc: <http://rdfs.org/sioc/ns#> PREFIX geonames: <http://www.geonames.org/ontology#> SELECT DISTINCT ?post WHERE { ?post sioc:embeds_knowledge ?graph . ?post sioc:topic ?place . GRAPH ?graph { ?place rdf:type geonames:Feature . ?place owl:sameAs ?geoplace . } . ?geoplace geonames:inCountry ?c . ?country geonames:inCountry ?c . ?country owl:sameAs ?dbc . ?dbc rdf:type <http://dbpedia.org/class/yago/LeastDevelopedCountries> . } 10
  • 11. “Stream me tweets about... ...English-language movies starring Chinese actors” PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX sioc: <http://rdfs.org/sioc/ns#> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT DISTINCT ?post WHERE { ?post sioc:embeds_knowledge ?graph . ?post sioc:topic ?movie . GRAPH ?graph { ?movie rdf:type dbo:Film . ?movie owl:sameAs ?dbmovie . } . ?dbmovie dbo:language <http://dbpedia.org/resource/English_language> . ?dbmovie dbo:starring ?actor . ?actor rdf:type <http://dbpedia.org/class/yago/ChineseActors> . } 11
  • 12. “Stream me tweets about... ...songs by artists my friends like” FOAF PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX sioc: <http://rdfs.org/sioc/ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTINCT ?post WHERE { ?post sioc:embeds_knowledge ?graph . ?post sioc:topic ?song . GRAPH ?graph { ?song rdf:type mo:Track . ?song owl:sameAs ?mbtrack . } . ?album mo:track ?mbtrack . ?artist foaf:made ?album . ?friend foaf:interest ?artist . ?me foaf:knows ?friend . } 12
  • 13. An emerging ecosystem • TwitLogic: Twitter streams to RDF streams • SMOB Semantic Microblogging Framework • sparqlPuSH transport layer for RDF streams • Twarql: Twitter feeds through SPARQL • C-SPARQL: SPARQL for continuous querying 13
  • 14. TwitLogic • capture Twitter data • translate it into RDF • produce an RDF stream • publish it as Linked Data • preserve attribution • provide real-time search 14
  • 15. @prefix sioc: <http://rdfs.org/sioc/ns#> . [...] { <http://twitlogic.fortytwo.net/post/twitter/16810997455> a sioct:MicroblogPost ; dc:created "2010-06-23T00:43:35.000Z"^^xsd:dateTime ; geo:location <http://twitlogic.fortytwo.net/location/twitter/d0fc0f618c1eb790> ; sioc:content "the Karate Kids: karate vs. kung fu..." ; sioc:has_creator <http://twitlogic.fortytwo.net/user/twitter/7083182> ; sioc:topic <http://twitlogic.fortytwo.net/topic/2121544629>, <http://twitlogic.fortytwo.net/topic/1462827592> ; sioc:embeds_knowledge <http://twitlogic.fortytwo.net/graph/twitter/16810997455> . <http://twitlogic.fortytwo.net/graph/twitter/16810997455> a rdfg:Graph . <http://twitlogic.fortytwo.net/location/twitter/d0fc0f618c1eb790> a geonames:Feature , <http://dbpedia.org/resource/City> ; dc:title "Half Moon Bay, CA" ; geo:lat "32.528832"^^xsd:double ; geo:long "-124.482003"^^xsd:double ; rdfs:seeAlso <http://api.twitter.com/1/geo/id/d0fc0f618c1eb790.json> ; rdfs:label "Half Moon Bay" ; geonames:countryCode "US" . } <http://twitlogic.fortytwo.net/graph/twitter/16810997455> { <http://twitlogic.fortytwo.net/topic/2121544629> a dbo:Film ; dc:title "The Karate Kid" ; rdfs:label "The Karate Kid (1984)" ; foaf:page <http://www.rottentomatoes.com/m/karate_kid> ; owl:sameAs <http://dbpedia.org/resource/The_Karate_Kid> . <http://twitlogic.fortytwo.net/topic/1462827592> a dbo:Film ; dc:title "The Karate Kid" ; rdfs:label "The Karate Kid (2010)" ; foaf:page <http://www.rottentomatoes.com/m/karate_kid_2010> ; owl:sameAs <http://dbpedia.org/resource/The_Karate_Kid_%282010_film%29> . } 15
  • 16. Keeping track of who said what • in Twitter, users own their content • claim: Annotations are user content • when mashing up data from different users... • we need to preserve statement provenance • use Named Graphs with provenance vocabularies • copyright information preserves authors’ rights • attribution metadata for each tweet • TwitLogic uses Open Data Commons PDDL 16
  • 17. Real-time, real-place semantic search • Geospatial SPARQL in Allegrograph: • order by distance • query for points within a geospatial circle, bounding box, or polygon • temporal reasoning (google-map (select (?name ?lat ?lon) (q ?t !sioc:has_creator ?person) (q ?t !wgs84:location ?x) (q ?t !dc:created ?time) (temporal-within ?time "20100622T10:15:00" "20100624T10:15:00") (geo-within-radius ?x ?y 10 miles) (q ?y !geo:asciiname ?name) (q ?y !geo:isAt5 ?pos) (pos->lon/lat ?pos ?lon ?lat))) 17
  • 18. A demo 18
  • 19. Conclusion • streaming structured data such as Annotations are the “real-time” equivalent of RDFa • easy to use, *will* be used • Semantic Web -compatible • mashups with the Semantic Web benefit: • the end user (--> smarter applications) • the application developer (--> less case-by-case development) • the Semantic Web itself (--> “long tail” of real-time data) • this is a good time to influence Annotations formats, build applications 19
  • 20. Thanks! • TwitLogic • http://twitlogic.fortytwo.net • AllegroGraph • http://www.franz.com/agraph/allegrograph/ • Contact • josh@fortytwo.net, ja@franz.com • @joshsh, @jansaasman, @franzinc 20