SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

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
 

En vedette (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
 

Similaire à 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
 
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
 
Staab programming thesemanticweb
Staab programming thesemanticwebStaab programming thesemanticweb
Staab programming thesemanticwebAneta Tu
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

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 productivityPrincipled Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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