SlideShare a Scribd company logo
Acre: Server-side JavaScript
on Freebase.com

San Francisco JavaScript Meetup #9
at CBS Interactive

Will Moffat
The Short Pitch
Freebase: a topic DNS
11M topics - Actresses (37,079)
Cheeses (488)
Football Players (16,568)
TV Programs (33,630)



                       arrested_develop
MQL: a JSON query language
“Russian cosmonauts”
MQL: a JSON query language
“Russian cosmonauts”




 [{
   "type": "/spaceflight/astronaut",
   "name": null,
   "/people/person/nationality": "russia"
 }]
MQL: a JSON query language
“Russian cosmonauts”



 http://api.freebase.com/api/service/mqlread?query=
 [{
    "type": "/spaceflight/astronaut",
    "name": null,
    "/people/person/nationality": "russia"
 }]
MQL: a JSON query language
MQL: a JSON query language
“Russian cosmonauts”
Acre: Server Side JavaScript for Freebase




         Hosted app server: freebaseapps.com
         Runs untrusted user code

         Sandboxed
           instruction counting
           memory, time quotas
Acre: for open data apps


Oauth - talk to flickr, Google, Netflix, etc

Acre Template Language

Client-side widgets: Freebase Suggest
View Source comes to web apps
FreebaseApps.com
Thank you!




           freebase.com

http://www.slideshare.net/tag/freebase

      #freebase on freenode.net
Keys: more examples of web ids


            Will Smith
             (Actor)
Keys: more examples of web ids


  /index.html?curid=154698       Will Smith
                                  (Actor)     /people/s/will_smith

      /name/nm0000226

                                              /RoleDisplay/86971

/BandsAndArtists/S/Smith,_Will

                                               /artist/Will+Smith

        willsmith.com

                                                  /WillSmith

       /artist/Will+Smith

                                              /music/Will+Smith

 /Will-Smith/e/B000APUOJC
Slicing and dicing data using MQL
“Tropical storms in the 90s”




         [{
              "type": "/meteorology/tropical_cyclone",
              "name" : null,
              "formed>=" : "1990",
              "a:formed<=": "2000"
         }]
MQL: sorting
“French actresses born pre-WWII”




         [{
           "type": "/film/actor",
           "name": null,
           "/people/person/gender": "female",
           "/people/person/date_of_birth": null,
           "/people/person/date_of_birth<=": "1939",
           "/people/person/nationality": "France",
           "sort": "/people/person/date_of_birth"
         }]

More Related Content

Similar to ServerSide Javascript on Freebase - SF JavaScript meetup #9

Vale rda presentation
Vale rda presentationVale rda presentation
Vale rda presentation
brigidnburke
 
Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...
Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...
Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...
Bruce Damer
 
yourHistory - entity linking for a personalized timeline of historic events
yourHistory - entity linking for a personalized timeline of historic eventsyourHistory - entity linking for a personalized timeline of historic events
yourHistory - entity linking for a personalized timeline of historic events
David Graus
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQL
Chris Bailey
 
Waves'14 Open Prelims
Waves'14 Open PrelimsWaves'14 Open Prelims
Waves'14 Open Prelims
Balasubramanian Viswanathan
 
Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...
Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...
Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...
Bruce Damer
 
Hacking data visualisations
Hacking data visualisationsHacking data visualisations
Hacking data visualisations
Melinda Seckington
 
Research Animation and Animators
Research Animation and AnimatorsResearch Animation and Animators
Research Animation and Animators
Jenna Rinalducci
 

Similar to ServerSide Javascript on Freebase - SF JavaScript meetup #9 (8)

Vale rda presentation
Vale rda presentationVale rda presentation
Vale rda presentation
 
Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...
Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...
Bruce Damer's presentation for Larry Lessig's Cyberlaw class at Stanford (Mar...
 
yourHistory - entity linking for a personalized timeline of historic events
yourHistory - entity linking for a personalized timeline of historic eventsyourHistory - entity linking for a personalized timeline of historic events
yourHistory - entity linking for a personalized timeline of historic events
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQL
 
Waves'14 Open Prelims
Waves'14 Open PrelimsWaves'14 Open Prelims
Waves'14 Open Prelims
 
Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...
Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...
Bruce Damer's talk at Univ Pennsylvania on the Virtual World, its Origins and...
 
Hacking data visualisations
Hacking data visualisationsHacking data visualisations
Hacking data visualisations
 
Research Animation and Animators
Research Animation and AnimatorsResearch Animation and Animators
Research Animation and Animators
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 

ServerSide Javascript on Freebase - SF JavaScript meetup #9

  • 1. Acre: Server-side JavaScript on Freebase.com San Francisco JavaScript Meetup #9 at CBS Interactive Will Moffat
  • 3. 11M topics - Actresses (37,079)
  • 6. TV Programs (33,630) arrested_develop
  • 7. MQL: a JSON query language “Russian cosmonauts”
  • 8. MQL: a JSON query language “Russian cosmonauts” [{ "type": "/spaceflight/astronaut", "name": null, "/people/person/nationality": "russia" }]
  • 9. MQL: a JSON query language “Russian cosmonauts” http://api.freebase.com/api/service/mqlread?query= [{ "type": "/spaceflight/astronaut", "name": null, "/people/person/nationality": "russia" }]
  • 10. MQL: a JSON query language
  • 11. MQL: a JSON query language “Russian cosmonauts”
  • 12. Acre: Server Side JavaScript for Freebase Hosted app server: freebaseapps.com Runs untrusted user code Sandboxed instruction counting memory, time quotas
  • 13. Acre: for open data apps Oauth - talk to flickr, Google, Netflix, etc Acre Template Language Client-side widgets: Freebase Suggest
  • 14. View Source comes to web apps
  • 15.
  • 17. Thank you! freebase.com http://www.slideshare.net/tag/freebase #freebase on freenode.net
  • 18. Keys: more examples of web ids Will Smith (Actor)
  • 19. Keys: more examples of web ids /index.html?curid=154698 Will Smith (Actor) /people/s/will_smith /name/nm0000226 /RoleDisplay/86971 /BandsAndArtists/S/Smith,_Will /artist/Will+Smith willsmith.com /WillSmith /artist/Will+Smith /music/Will+Smith /Will-Smith/e/B000APUOJC
  • 20. Slicing and dicing data using MQL “Tropical storms in the 90s” [{ "type": "/meteorology/tropical_cyclone", "name" : null, "formed>=" : "1990", "a:formed<=": "2000" }]
  • 21. MQL: sorting “French actresses born pre-WWII” [{ "type": "/film/actor", "name": null, "/people/person/gender": "female", "/people/person/date_of_birth": null, "/people/person/date_of_birth<=": "1939", "/people/person/nationality": "France", "sort": "/people/person/date_of_birth" }]

Editor's Notes

  1. 1) topic: people, places, films 2) you&amp;#x2019;ve got a page about something 3) plug into freebase to bring in related content from the web
  2. CC license 11M topics, each with a strong, stable identifier + list of keys to other web sites.
  3. designed to be used in JS
  4. http://www.freebase.com/app/queryeditor?q=[{%22type%22:%22/spaceflight/astronaut%22,%22name%22:null,%22/people/person/nationality%22:%22russia%22}]
  5. http://www.freebase.com/app/queryeditor?q=[{%22type%22:%22/spaceflight/astronaut%22,%22name%22:null,%22/people/person/nationality%22:%22russia%22}]
  6. http://www.freebase.com/app/queryeditor?q=[{%22type%22:%22/spaceflight/astronaut%22,%22name%22:null,%22/people/person/nationality%22:%22russia%22}]
  7. JS powerful language, use it on both client &amp; server. SSJS: write complete apps in HTML, JS &amp; CSS. Rich ecosystem of widgets, libraries. Community. Rhino image from Paul Houle. http://www.mozilla.org/rhino/
  8. put this together to get DEMO: http://solutions.apps.freebase.dev.freebaseapps.com/suggest Auto-complete: musical artists on twitter looks up their username grabs tweets
  9. * all code is BSD licensed * clone to edit your own copy * example of acre template: show actors starring in this film
  10. screencast: * Show google news stories from of top 3 companies in selected industry * gets deep into code
  11. talk to me afterwards - lots of interesting topics. you can use SSJS to extend query language