SlideShare une entreprise Scribd logo
1  sur  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)

Contenu connexe

Similaire à WikiNext - Application Semantic Wiki

Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Beat Signer
 
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 ClusterJohn Breslin
 
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 RailsJose de Leon
 
December 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationDecember 4 SDForum Java Sig Presentation
December 4 SDForum Java Sig PresentationJonathan Abrams
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic WikiJie Bao
 
NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6NetBeans Support for EcmaScript 6
NetBeans Support for EcmaScript 6Kostas Saidis
 
Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Web Application Frameworks - Web Technologies (1019888BNR)
Web Application Frameworks - Web Technologies (1019888BNR)Beat Signer
 
Krug Fat Client
Krug Fat ClientKrug Fat Client
Krug Fat ClientPaul Klipp
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityMarkku Laine
 
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 2020Matt Raible
 
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, 2016Ivan Ermilov
 
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 ModelJie Bao
 
Collaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMACollaborative Media Annotation with YUMA
Collaborative Media Annotation with YUMAaboutgeo
 
UIT: Our Skills
UIT: Our SkillsUIT: Our Skills
UIT: Our Skillsuitpramati
 
React, ES6, and Meteor
React, ES6, and MeteorReact, ES6, and Meteor
React, ES6, and MeteorSangwon Lee
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic WebIvan Herman
 
Nosql-columbia-feb2011
Nosql-columbia-feb2011Nosql-columbia-feb2011
Nosql-columbia-feb2011siculars
 
Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Web Technology Trends (early 2009)
Web Technology Trends (early 2009)Prodosh Banerjee
 
Synchronizing Core Data With Rails
Synchronizing Core Data With RailsSynchronizing Core Data With Rails
Synchronizing Core Data With RailsKen Collins
 

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

Dernier

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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
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
 

Dernier (20)

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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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...
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
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
 

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)