SlideShare ist ein Scribd-Unternehmen logo
1 von 20
WIKINEXT
PAVEL ARAPOV & MICHEL BUFFA
ARAPOV@I3S.UNICE.FR
BUFFA@UNICE.FR




Application Semantic Wiki
Wiki World
   Wiki is a website where users can
    add, modify, or delete content via a web
    browser
   Wiki software (wiki engine) : implementation
   Application (enterprise) wiki is a wiki engine
    where users can create/modify applications
    into the wiki page (ex: XWiki, TWiki)
   Semantic wiki is a wiki that uses models of
    knowledge (i.e: Semantic Media Wiki)
                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
WikiNext
   Semantic Wiki:
     Write   collaboratively semantized documents
   Application Wiki :
     Writeapplications within the wiki
     Take advantages of the Linked Open Data,

   Take advantages of the new technologies :
    Web Services, HTML5, WebSockets, etc.



                    Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Choosing technology
   Programming language
     Simply, untyped
     Easy to learn for users

   Unified representation format for data and
    meta-data
     RDF/RDFa    Triples
     Documents

     Applications



                     Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
The SweetWiki way (2005-
2009)

JAVA Objects                                      Wiki
 hand written




           SERV
            ER
           JAVA                                          CORESE
                              SPARQL
                                                           RDF
                         RDF/XML                          engine

                                  XSLT
                  Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Modern way
                                                             Documents +
                                                              application
                                      Wiki                      code




    SERV
     ER                IDEAL FORMAT
                                                           Database
                            SPARQL



           Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Browsers
   Browser = Layout engine + JavaScript engine
     Google  Chrome (WebKit + V8)
     Safari (WebKit + Nitro)

     Mozilla FireFox (TraceMonkey)

     Opera (Caracan)

     Internet Explorer



   And…


                 Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
JavaScript engines are
independent
   V8 by Google
   TraceMonkey by Mozilla
   SpiderMonkey by Mozilla
   Rhino by Mozilla
   Nitro by Apple
   Caracan by Opera

   And JS is no more a web-browser only
    language !
                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
CommonJS
   Specification to create server-side applications
    based on JS engine
   Open proposal system with voting on mailing
    list
   Used in:
     CouchDB

     MongoDB

     SproutCore

     node.js

     XULJet
                   Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Approach
   Page = Application
   JavaScript – everywhere
   JSON as main data format
   Real-time interaction – WebSockets (page-
    server)
   Storage – MongoDB – document-oriented
    database based on JSON format



                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Technology
   Node.js – HTTP Server
         – RPC library based on socket.io
     nowjs
     communication library: WebSockets, Comet etc
   MongoDB – database
   Mustache – logic less template engine
   Aloha – HTML5 in-place WYSIWYG editor
   ACE – code editor
   VIE2 – RDFa framework

                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Front-end schema


                                                   WebSocke
                   Main App
                                                      t

  HTML page

                     HTML
                     View




                     Back-End

              Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Back-end schema
                                WebSocket
                                   s




Handler                             DAO
 HTTP     Controller               (pages                      Mongo
 GET                                  )                         DB




            HTML                                     Knowledge
          templates                                  Controller
                                                     (KGRAM)

               Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Screenshot – main editor




         Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Screenshot – JavaScript editor




         Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Knowledge base
   Each page has a local knowledge database
   Global knowledge database is based on
    summary of all local knowledge databases
   Collections of triples in JSON-LD* format



* json-ld.org – last specification can be found
here

                Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Knowledge spread

                                                             Meta data
                                                             cache in
                           Main App                           JSON



 HTML page     HTML view
                                                             WebSocket

                        Meta data



                                                        Server Side


             Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Results
   Early alpha version is available
     wikinext.herokuapp.com

     mainline.essi.fr    (will be available soon)
   Inline edition
   Main App – page render
     Creating   application into the pages
   Local Knowledge base and synchronization
   No data rewrite between
    server/client/database
                    Pavel Arapov (arapov@i3s.unice.fr)   20.04.12
Future work
   ShareJS – OT library, real-time collaborative
    edit
   Extend the Wiki API
   Integrate connectors for Linked Open Data
   Extend the ontologies we use for describing
    documents and users’ interactions (ISICIL
    model based on FOAF, SIOC, DC, etc.)
     Add   applications
   Templates for applications (visualization of
    data, automatic Arapov (arapov@i3s.unice.fr) 20.04.12
                 Pavel
                       annotation, LOD
    querying, etc.)
THANK FOR YOUR
ATTENTION
DEMO TIME
WIKINEXT.HEROKUAPP.COM



    Pavel Arapov (arapov@i3s.unice.fr)

Weitere ähnliche Inhalte

Ähnlich wie WikiNext - Application Semantic Wiki

Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic Wiki
Jie Bao
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat Client
Paul Klipp
 
A Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application ModelA Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application Model
Jie Bao
 
UIT: Our Skills
UIT: Our SkillsUIT: Our Skills
UIT: Our Skills
uitpramati
 
Nosql-columbia-feb2011
Nosql-columbia-feb2011Nosql-columbia-feb2011
Nosql-columbia-feb2011
siculars
 

Ähnlich wie WikiNext - Application Semantic Wiki (20)

Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
 
Site Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW ClusterSite Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW Cluster
 
iPhone Web Development and Ruby On Rails
iPhone Web Development and Ruby On RailsiPhone Web Development and Ruby On Rails
iPhone Web Development and Ruby On Rails
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig Presentation
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic Wiki
 
NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat Client
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
 
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
Full Stack Reactive with React and Spring WebFlux - Switzerland JUG 2020
 
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
Lodstats: The Data Web Census Dataset. Kobe, Japan, 2016
 
A Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application ModelA Semantic Wiki Based Light-Weight Web Application Model
A Semantic Wiki Based Light-Weight Web Application Model
 
Collaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMACollaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMA
 
UIT: Our Skills
UIT: Our SkillsUIT: Our Skills
UIT: Our Skills
 
React, ES6, and Meteor
React, ES6, and MeteorReact, ES6, and Meteor
React, ES6, and Meteor
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
Nosql-columbia-feb2011
Nosql-columbia-feb2011Nosql-columbia-feb2011
Nosql-columbia-feb2011
 
Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Web Technology Trends (early 2009)
Web Technology Trends (early 2009)
 
Big data apache spark + scala
Big data   apache spark + scalaBig data   apache spark + scala
Big data apache spark + scala
 
Synchronizing Core Data With Rails
Synchronizing Core Data With RailsSynchronizing Core Data With Rails
Synchronizing Core Data With Rails
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

WikiNext - Application Semantic Wiki

  • 1. WIKINEXT PAVEL ARAPOV & MICHEL BUFFA ARAPOV@I3S.UNICE.FR BUFFA@UNICE.FR Application Semantic Wiki
  • 2. Wiki World  Wiki is a website where users can add, modify, or delete content via a web browser  Wiki software (wiki engine) : implementation  Application (enterprise) wiki is a wiki engine where users can create/modify applications into the wiki page (ex: XWiki, TWiki)  Semantic wiki is a wiki that uses models of knowledge (i.e: Semantic Media Wiki) Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 3. WikiNext  Semantic Wiki:  Write collaboratively semantized documents  Application Wiki :  Writeapplications within the wiki  Take advantages of the Linked Open Data,  Take advantages of the new technologies : Web Services, HTML5, WebSockets, etc. Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 4. Choosing technology  Programming language  Simply, untyped  Easy to learn for users  Unified representation format for data and meta-data  RDF/RDFa Triples  Documents  Applications Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 5. The SweetWiki way (2005- 2009) JAVA Objects Wiki hand written SERV ER JAVA CORESE SPARQL RDF RDF/XML engine XSLT Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 6. Modern way Documents + application Wiki code SERV ER IDEAL FORMAT Database SPARQL Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 7. Browsers  Browser = Layout engine + JavaScript engine  Google Chrome (WebKit + V8)  Safari (WebKit + Nitro)  Mozilla FireFox (TraceMonkey)  Opera (Caracan)  Internet Explorer  And… Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 8. JavaScript engines are independent  V8 by Google  TraceMonkey by Mozilla  SpiderMonkey by Mozilla  Rhino by Mozilla  Nitro by Apple  Caracan by Opera  And JS is no more a web-browser only language ! Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 9. CommonJS  Specification to create server-side applications based on JS engine  Open proposal system with voting on mailing list  Used in:  CouchDB  MongoDB  SproutCore  node.js  XULJet Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 10. Approach  Page = Application  JavaScript – everywhere  JSON as main data format  Real-time interaction – WebSockets (page- server)  Storage – MongoDB – document-oriented database based on JSON format Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 11. Technology  Node.js – HTTP Server – RPC library based on socket.io  nowjs communication library: WebSockets, Comet etc  MongoDB – database  Mustache – logic less template engine  Aloha – HTML5 in-place WYSIWYG editor  ACE – code editor  VIE2 – RDFa framework Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 12. Front-end schema WebSocke Main App t HTML page HTML View Back-End Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 13. Back-end schema WebSocket s Handler DAO HTTP Controller (pages Mongo GET ) DB HTML Knowledge templates Controller (KGRAM) Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 14. Screenshot – main editor Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 15. Screenshot – JavaScript editor Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 16. Knowledge base  Each page has a local knowledge database  Global knowledge database is based on summary of all local knowledge databases  Collections of triples in JSON-LD* format * json-ld.org – last specification can be found here Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 17. Knowledge spread Meta data cache in Main App JSON HTML page HTML view WebSocket Meta data Server Side Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 18. Results  Early alpha version is available  wikinext.herokuapp.com  mainline.essi.fr (will be available soon)  Inline edition  Main App – page render  Creating application into the pages  Local Knowledge base and synchronization  No data rewrite between server/client/database Pavel Arapov (arapov@i3s.unice.fr) 20.04.12
  • 19. Future work  ShareJS – OT library, real-time collaborative edit  Extend the Wiki API  Integrate connectors for Linked Open Data  Extend the ontologies we use for describing documents and users’ interactions (ISICIL model based on FOAF, SIOC, DC, etc.)  Add applications  Templates for applications (visualization of data, automatic Arapov (arapov@i3s.unice.fr) 20.04.12 Pavel annotation, LOD querying, etc.)
  • 20. THANK FOR YOUR ATTENTION DEMO TIME WIKINEXT.HEROKUAPP.COM Pavel Arapov (arapov@i3s.unice.fr)