A Semantic Wiki Based Light-Weight Web Application
Model
Jie Bao, Li Ding, Rui Huang,
Paul R. Smart, Dave Brains, and Gareth Jones
Presenter: Zhenning Shangguan
Dec. 07, 2009
Outline
• Introduction
• Semantic Wiki Based Light-weight Web Application Model
• Proof-of-concept prototypes– RPI Map (http://map.rpi.edu)– CNL Wiki (http://tw.rpi.edu/proj/cnl)
• Conclusions & Future Work
Web 2.0 Applications
• Success of Web 2.0 applications– Simple publishing– Social interaction– …
• However, limitations do exist– User-contributed structured data– Diversity of data access paradigm
Web App Models
Server Side
Users’ Control
Web ServerWeb Server
Database/FilesDatabase/Files
Web BrowserWeb Browser
Conventional Model
Server Side
Users’ Control
Web BrowserWeb Browser
Ajax EngineAjax Engine
Web/Data ServerWeb/Data Server
Database/FilesDatabase/Files
AJAX Model
Server Side
Wiki E
ngineW
iki Engine
Users’ Control
Web BrowserWeb Browser
Wiki Func.Wiki Func.
Wiki-based Model
Web ServerWeb Server
Database/FilesDatabase/Files
Wiki UIWiki UI
Semantic Wiki
Semantic Wiki
Multi-user content creation and editing
Browser-based, cross-platformeasy to use
Supports semantic annotations for automated processing and inference
Semantic MediaWiki (SMW)
• It is the most popular semantic wiki system extending MediaWiki (the Wikipedia’s platform)
6
Mediawiki: What you edit what you see
Semantic MediaWiki
7
SMW: What you edit(Modeling Script)
what you see
typed link (property)
To author knowledge
Semantic MediaWiki
8
SMW: What you edit(Querying Script)
what you see
To retrieve knowledge
Semantic Wiki
• Potential to serve as a platform that supports– Rich data modeling– Transparent data processing– Social programming
• Thus promoting a new web application model
SemWiki-based Model
Server Side
Sem
Wiki E
ngineS
emW
iki Engine
Users’ Control
Web BrowserWeb Browser
SemWiki DataSemWiki Data
Wiki Func.Wiki Func.
SemWiki-based Model
Web ServerWeb Server
Database/FilesDatabase/Files
Wiki UIWiki UI
Structured data from SemWiki annotations
Parser functions to process the structured data
Wiki scripts to build application interface
Both structured data and wiki scripts are accessible!
Data Modeling
• Annotations from all wiki pages forms an RDF graph
• Can be considered as a virtual abstraction layer over the server-side database/file system– Evolving knowledge base– Collective CRUD operations supported
Data Processing
• Extensions of MediaWiki support light-weight data processing– Parser functions– Variables– Datatypes– Control flows
(Please see http://tw.rpi.edu/wiki/ASWC2009Bao#Links for details)
User Interface
• Application UI is defined by a set of wiki pages
• Wiki scripts can be used to customize UI– Templates and queries to control look-and-
feel of wiki pages– Semantic Forms facilitate content editing
• Embedded JavaScript code to enrich UI– More interactive and intuitive visualization
elements
Case Study
RPI Maphttp://map.rpi.edu
CNL Wikihttp://tw.rpi.edu/proj/cnl
RPI Map
• A mash-up map application based on Semantic MediaWiki
• Provides location-based information in the RPI campus
• Integrates data from various external sources
• Visualizes integrated data using Google Map
http://map.rpi.edu
CNL Wiki
• Collaborative OWL ontology building application based on Semantic MediaWiki
• Controlled Natural Language (CNL) used to facilitate understanding of generated knowledge statements
http://tw.rpi.edu/proj/cnl
Highlights
RPI Map CNL Wiki
Data Modeling•Template as Schema
•OWL Modeling
Data Processing•Stored Query
•Data Cleansing
•Template as Function
•CNL Generation
User Interface•Query-based Content Generation
•Automatic form Generation
Highlights
RPI Map CNL Wiki
Data Modeling•Template as Schema
•OWL Modeling
Data Processing•Stored Query
•Data Cleansing
•Template as Function
•CNL Generation
User Interface•Query-based Content Generation
•Automatic form Generation
Template as Schema (RPI Map)
• Templates are used to define classes in the application
• Each template defines a set of attributes for the corresponding class
Schema definition in DB-based applications
Template defines the data structure for each class in RPI Map
OWL Modeling
• Developed SMW-mOWL, a meta-model extension to SMW, to address expressivity constraints of SMW (Bao et al., 2009)– In SMW-mOWL, an ontology is represented u
sing a set of wiki pages– Each wiki page encodes a certain ontology en
tity (class, property, individual) using wiki templates
– Each wiki template defines axiom/annotation information for an ontology entity
Class(Rabbit partial intersectionOf(animal restriction(eat someValuesFrom(FreshVegetable)))
OWL: “Rabbit eats some fresh vegetable”
SMW-mOWL
Wiki templates to define axiom/annotation information.
Form-based editing interface associated with templates
OWL Class Templates
23
Similarly, we have templates for properties and individuals
Query-based Content Generation
• Semantic queries can be used to find desired information and generate the UI
{{#ask:[[Category:Event]] [[has end time::> {{LOCALMONTHNAME}} {{LOCALDAY}}, {{LOCALYEAR}} 00:00]]}}
Semantic query to find today’s events and render them in a table
With little efforts, we can generate a map of today’s events based on the previous query
CNL Generation
• A set of templates are defined and used to generate CNL statements for ontology entities
• Supported CNL’s– Rabbit– ACE (Attempto Controlled English)
• Able support other CNL’s by defining corresponding templates
OWL Abstract SyntaxClass(Rabbit partial intersectionOf(animal restriction(eat someValuesFrom(FreshVegetable)))
Template:getClassDeclaration
Template:getConceptRelationAssertions
Template:getSomeRestrictionAssertion
Conclusion
• Identified a light-weight web application model based on semantic wikis
• Presented two prototype systems, RPI Map and CNL Wiki, based on this model
• The model represents emerging trends in web application development– Making structured data publicly available to
facilitate data reuse– Making data processing open to support
customized application development
Future Work
• Improve prototype systems to show benefits of the proposed model
• Investigate application of our proposed model on other platforms (e.g., Drupal)
• Development of extensions for SMW to better support our model
• We expect the network effect of our model as more platforms adopt it
Questions?
• Thank you!