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

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 

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