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

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 AnalysisCTSI at UCSF
 
Project a twitter dataset analysis
Project a twitter dataset analysisProject a twitter dataset analysis
Project a twitter dataset analysisYu Luo
 
Mesoscale Structures in Networks
Mesoscale Structures in NetworksMesoscale Structures in Networks
Mesoscale Structures in NetworksMason Porter
 
Semantic Web For Distributed Social Networks
Semantic Web For Distributed Social NetworksSemantic Web For Distributed Social Networks
Semantic Web For Distributed Social NetworksDavid Peterson
 
The Semantic Web: 2010 Update
The Semantic Web: 2010 Update The Semantic Web: 2010 Update
The Semantic Web: 2010 Update James Hendler
 
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)Knud Möller
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebNuxeo
 
The semantic web
The semantic webThe semantic web
The semantic webDotkumo
 
The Standardization of Semantic Web Ontology
The Standardization of Semantic Web OntologyThe Standardization of Semantic Web Ontology
The Standardization of Semantic Web OntologyMyungjin Lee
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic WebOscar Corcho
 
Semantic Web
Semantic WebSemantic Web
Semantic Webgregreser
 
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 PeakmakerKrich 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)Benjamin Nowack
 
4 semantic web and ontology
4 semantic web and ontology4 semantic web and ontology
4 semantic web and ontologySanthosh Kannan
 
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 SpacesJohn Breslin
 
The Semantic Web
The Semantic WebThe Semantic Web
The Semantic WebBarry Smith
 

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 Internetdrgath
 
WTF is Semantic Web?
WTF is Semantic Web?WTF is Semantic Web?
WTF is Semantic Web?milesw
 
YQL:: Select * from Internet
YQL:: Select * from InternetYQL:: Select * from Internet
YQL:: Select * from Internetdrgath
 
IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013IPTC News in JSON Spring 2013
IPTC News in JSON Spring 2013Stuart Myles
 
Economies of Scaling Software
Economies of Scaling SoftwareEconomies of Scaling Software
Economies of Scaling SoftwareJoshua Long
 
(Re-) Discovering Lost Web Pages
(Re-) Discovering Lost Web Pages(Re-) Discovering Lost Web Pages
(Re-) Discovering Lost Web PagesMichael Nelson
 
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 AgentsJoshua Shinavier
 
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...Ícaro Medeiros
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of DataRinke Hoekstra
 
Needle in an enterprise haystack
Needle in an enterprise haystackNeedle in an enterprise haystack
Needle in an enterprise haystackAndrew Mleczko
 
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 PracticeDan Brickley
 
Understanding the Standards Gap
Understanding the Standards GapUnderstanding the Standards Gap
Understanding the Standards GapDan Brickley
 
Linked opendata parisemantique.fr - 24062011
Linked opendata   parisemantique.fr - 24062011Linked opendata   parisemantique.fr - 24062011
Linked opendata parisemantique.fr - 24062011Loïc Dias Da Silva
 
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 DBsJoshua Shinavier
 
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)Dave Rogers
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticwebAneta Tu
 
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 Webeswcsummerschool
 

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)
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticweb
 
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
 

More from Joshua Shinavier

Transpilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing HydraTranspilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing HydraJoshua Shinavier
 
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...Joshua Shinavier
 
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)Joshua Shinavier
 
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)Joshua Shinavier
 
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)Joshua Shinavier
 
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 RealityJoshua Shinavier
 
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...Joshua Shinavier
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph SchemaJoshua Shinavier
 
semantic markup using schema.org
semantic markup using schema.orgsemantic markup using schema.org
semantic markup using schema.orgJoshua Shinavier
 
Real-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 charsReal-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 charsJoshua Shinavier
 
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 DataJoshua 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

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

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