University of Rome “Tor Vergata”______________________________________________________
VB3 Webinar
Some Insights on the Forthcoming Release of the
Third Edition of the VocBench Platform
Hosted by Courtesy of the AIMS group (http://aims.fao.org/) of the
Food and Agriculture Organization of the United Nations
Armando Stellato <[email protected]>
05/07/2017
My Research Lab
• Realized as a
University Campus
distributed over a
wide area in the SE
of Rome
http://art.uniroma2.it
htt
p:/
/we
b.u
nirom
a2.it/
We are located at the Faculty of Engineering, Information Engineering Building
Our offices!Our offices!
…and LAB!
05/07/2017 2
The ART Group
…research can be really
stressing…you know..
…and I’m too lazy to
change the picture
…lot of hairs ago…
That’s me!
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 3
The ART Group
Areas of Interest
Natural Language Processing
• Robust Parsing
• Information Extraction
• Semantic Role Labeling
• Textual Entailment
• ML for Natural Language
Machine Learning
• ML for Natural Language
• Computational Language Learning
• Ontology Learning
• Classification, Multimedia IR
• Music IR
Knowledge Engineering
• Ontologies and Knowledge Modeling
• Semantic Web Technologies
• Knowledge Acquisition
• Knowledge Sharing
• Knowledge-based Systems
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 4
Semantic Turkey / VocBench*
Flagship KM&A Platform
OntoLing
Ontology Linguistic Enrichment Tool
ALE
Automatic
Linguistic
Enrichment
Java Multi WordNet
Library
Wrappers for
different LRs
CODA
Computer-aided Ontology
Development Architecture
Semantic Turkey extensions for Knowledge Acquisition
Linguistic Watermark
Library and Ontologies for Accessing
Heterogeneous Linguistic Resources
<Text anything
here>
* Vocbench In collaboration with FAO
ART Technology Asset (KE
Unit)
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 5
VOCBENCH (1 & 2)
05/07/2017 6
Collaborative Development of Multilingual Thesauri
SPARQL Editing with
syntax completion and
highlight
The full history of actions per each project is
stored inside VB and can be inspected by users
(clients may also subscribe to its associated RSS
feed)
VocBench is an open source web
application for editing of
multilingual SKOS and SKOS-XL
thesauri, with a strong focus on
collaboration, supported by
workflow management for content
validation and publication.All editing actions
inside VocBench
undergo a validation
and publication
workflow
Powered by Semantic
Turkey!
http://vocbench.uniroma2.it
Why was it built?
AGROVOC (big agriculture vocabulary developed by FAO)
– >32 000 concepts in up to 22 languages
– A global group of terminologists.
– No tool to support their work
– No existing tool that met all of FAO’s needs
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 7
V1.0 – 2010
• Google Web Toolkit (for the Web Application)
• Lucene (for label indexing & free-text search)
• Protégé API
– DB backend
• (later) OWLART API
• MySQL
• Custom model for
thesaurus
representation
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 8
Business logic
MySQL
Protégé 3.4OWLART API
GWT / Presentation
V1.x Problems
• Could not support other triple stores (Glued to Protégé API)
• Custom representation model
• No support for emerging standards, e.g. SKOS
• I/O
– No import
– Complicated export
• No support for alignments
– AGROVOC aligned to a dozen other vocabularies
• No SPARQL interface
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 10
Towards VB2.0…
Many of VB1.x limitations derived from the absence of a true RDF Backend
• not just connection to a RDF triple store
• but a proper abstraction layer providing high level functionalities for ontology/thesaurus management
Driving lines for VB2.0
• A completely rebuilt backing framework for the service and data layers, based on an already existing open source project:
Semantic Turkey [1]
– Based on OSGi Open Services Gateway
– Open Connectibility to most notable RDF middleware and triple storing technologies (Sesame2, OWLIM, Allegrograph, Jena (not maintained) )
– Native support for SKOS and SKOSXL over RDF (no more conversions from internal legacy models), other than OWL
• major reworking
– all changes under-the-hood, and leaving user experience almost unchanged.
– New features added in the following versions
– Not intended as a major re-working, but as a quick-to-be-developed solution for extending VB1.x beyond its limits
[1] http://semanticturkey.uniroma2.it/
Maria Teresa Pazienza, Noemi Scarpato, Armando Stellato and Andrea Turbati Semantic Turkey: A Browser-Integrated Environment for Knowledge
Acquisition and Management, Semantic Web Journal, vol. 3, no. 3, 2012
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 11
Requirements for VB2
R1. Multilingualism
R2. Controlled Collaboration
R3. Data Interoperability and Consistency
R4. Software Interoperability/Extensibility
R5. Scalability
R6. Under-the-hood data access/modification
R7. Ease-of-use for both users and system administrators
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 12
…and here it was VB2
05/07/2017 13
R1. Multilingualism
05/07/2017 15
…and multilingual UI: (currently: English, Spanish, Dutch, Thai)
multilingual editing
…and visualization
R2. Controlled Collaboration (1/3)
Role-based Access Control
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 16
R2. Controlled Collaboration (2/3)
Formal Editorial Workflow
• Following the full life-cycle of concepts/terms, from proposal to deprecation
• Supported by Role-based Access Control
an example of a
typical workflow:
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 17
GUEST
<concept-create>
Proposed by guest
VALIDATOR
<validates>
Validated
PUBLISHER
<publishes>
Published
TERM EDITOR
<concept-edit>
Revised
ADMINISTRATOR
<validates>
Published
ONTOLOGY EDITOR
<concept-delete>
Proposed deprecated
PUBLISHER
<validates>
Deprecated
Recent Changes
• Available through a
dedicated module
• or as RSS feeds
includes both:– User changes
– Content changes
R2. Controlled Collaboration (3/3)
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 18
R3. Data Interoperability and Consistency (1/3)
Formats
• Import/Export in all popular RDF serialization formats
• Concrete availability of the various formats depend however on the connected triple store/RDF middleware
Models
• VocBench adopts a SKOS-XL + reified skos:definitions model
• Import of SKOS core data
– Refactoring for SKOSSKOS-XL
and skos:definition reification
• Export
– SKOS-XL:
• “All contents” or
• Filtered export based on broader
concept/schems
– SKOS: options for removing/keeping
reified labels and definitions
Vocabularies
• Possibility to owl:import any existing vocabulary,
from the web or from local files.
• Availaibility of a caching mirror for previously imported vocabularies
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 19
R3. Data Interoperability and Consistency (2/3)
Integrity / Consistency
• VB features a complex multi-scheme
management of thesauri
• Actions creating potential breaks in the
structure (e.g. breaking reachability of
a concept) are forbidden
• To deal with imported data, Integrity
Constraint Validation checks have
been included in the platform
– Currently, only dangling concepts have
been deal with
– More to come, already available as
services from ST
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 20
R3. Data Interoperability and Consistency (3/3)
Alignment
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 21
R4. Software
Interoperability/Extensibility
Triple Store Agnostic
• OWLART API provide:
– a very tiny layer over existing middlewares (e.g. Sesame, Jena)
– High-level “vocabulary layer” for OWL, SKOS, SKOS-XL
• What triple stores do we currently support and which connectors are
actively maintained?
– Sesame2 (standard internal triple stores, both in-memory and native)
– GraphDB/OWLIM (through Sesame remote connection, and an
optional parameter expressly dedicated to cover the different
management of graphs wrt Sesame)
– Other partners have experimented with other triple stores
https://art-uniroma2.atlassian.net/wiki/display/ST/Accessing+Various+Triplestores
– Past experiments with Allegrograph and Jena Middleware
• For GraphDB/OWLIM SE, we exploit its free-text indexing capabilities
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 22
Vendor data access layerVendor Triple store
High-level data access
Raw triple access
Vendor data access layer
OWLART API
Semantic Turkey
Multi User/Collaboration
Business logic
Presentation (GWT)
R5. Scalability
Performance
• Information is provided to the frontend as much as possible in an incremental fashion (e.g., each level of
the concept hierarchy, as nodes are expanded).
• Interfaces reverts to limited content and search-filtering for potentially exploding results
Maintenance
• ST offers a meaningful core set of RDF services…
• …however many functionalities (especially in UI) require the composition of several calls.
• Solution: combo of:
– per-service ad-hoc solutions (heavy weight single services realizing specific functionalities)
– general development facilities for the injection of additional information into common API calls (e.g. the rendering of
RDF resources is available as an extension point, with different implementations being dynamically injectable into the
SPARQL queries of several services).
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 23
R6. Under-the-hood data
access/modification
Embedded SPARQL Editor
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 24
Syntax highlight…
…completion…
…and validation
R7. Ease-of-use for both users
and system administrators
Continuous check-on-start life cycle
• VB technically never recognizes itself as
installed/deployed
• At each startup it checks that the
complete set of pre-requisites for a
correct start is satisfied.
• Whenever a new VB version is installed,
if new features have been introduced, or
mandatory configuration options added,
or the database requires update batches,
the system will identify these needs and
react accordingly, eventually interacting
with the user upon necessity
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 25
Vocbench 2.0 (and ST)
Architecture
Three layered extensible
architecture
• Presentation Layer
– GWT (Google Web Toolkit) Vocbench
User Interface (Mozilla apps in the
original framework)
• Services Layer
– Enables communication between the
client (Vocbench UI) and the ontology
persistence layer.
– HTTP based Services accessed
through the Ajax paradigm
– OSGi Extensible Servicing System
• Persistence Layer
– Access to ontological knowledge.
– Based on dedicated ontology API,
which can be implemented through use
of different technologies.
05/07/2017 27
Vocbench 2.0 (and ST) Architecture
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 28
Front end Back end
Administrative
Database
(MySQL)
Triple Store
Middleware
Hibernate
Layer
Semantic
Turkey/
OWLART
API
Gilead
Service
Wrapper
Layer
Google Web
Toolkit
(GWT)
Graph
Visualization
GWT
Incubator
Web services
VB “desktop version”:
Semantic Turkey for Firefox
05/07/2017 29
Related Works (1/2)
• PoolParty: http://www.poolparty.biz/ [18]. Web-based Editor for Thesauri using Linked Data
– Support for SKOS (optional add-on for SKOS-XL)
– Use: Commercial license (Evaluated thanks to a free evaluation account for PoolParty Advanced Server version 4.5.1 (rev 5429) )
– Version Tracking is supported, as the system performs access control to some extent.
– An add-on further enables an approval workflow based on the existing role based access control mechanism.
– Editing history is shown both at project level and at entity level.
– Alignment: lookup over LOD, or different projects can be linked together
– Publishes a SPARQL endpoint, dereferenceable URIs, and a wiki with limited editing capabilities.
– Quality criteria: can enforced interactively (i.e., illegal operations are blocked), or violations are simply recorded in a quality report.
– Backed by Sesame middleware
– Incorrect multiple scheme support (violates non -entailment of scheme containment along concept hierarchies, section 4.6.4 of the SKOS Reference [1] )
• TemaTres: http://www.vocabularyserver.com/ Web-based Editor for Controlled Vocabularies
– term-based meta-model, no native support for SKOS
– Use: Free and open-source
– due to the term-based nature of the model, the export to SKOS is often confusing (e.g. two synonyms terms exported as two different concepts)
– Monolingual (though alignments between vocabularies)
– No multiple scheme support (each thesaurus is a scheme)
– Rigid access control mechanism based on user roles (administrator, editor, guest).
• Workflow management: term transition from candidate status to either accepted or rejected. “Accepted” cannot be reverted, even after modifications
– Data quality: metrics and a flexible reporting generator.
– Connectivity: available API and a few plugins (e.g. for publication over different platforms, such as WordPress) are available
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 30
Related Works (2/2)
• TopBraid EVN: Web-based Editor for Business Vocabularies http://www.topquadrant.com/products/topbraid-enterprise-vocabulary-net/
– Support for SKOS, OWL Ontologies and Content tag sets
– Use: Commercial license (We didn’t carry extensive evaluation as we did not receive the evaluation license we requested)
• SKOSEd: https://code.google.com/p/skoseditor plugin for Protégé 4.x for editing SKOS thesauri
– Support for SKOS
– Use: free of use and open-source. We have evaluated version 1.0-alpha(build04) on Protégé 4.1 as, 2.0-alpha has a bug related to scheme
management
– Desktop tool (no web application)
– Ontology editing, SKOSEd allows interweaving SKOS and OWL constructs (defect: same form for skos:Concept and skos:ConceptSchemes
– Incorrect concept scheme management (same as PoolParty)
– Being an extension of Protégé 4.x, SKOSEd may not be used in conjunction with the collaboration framework developed for Protégé 3.x
• Web Protégé: http://webprotege.stanford.edu [16] Collaborative Web-based Ontology Editor
– No support for SKOS/SKOS-XL (supports OWL/OBO editing)
– Use: local Installation or service via public portal. Free of use in both cases
– Collaboration: based on the collaboration plugin for Protégé 3 [17], providing:
• Change tracking
• Inline discussions and notifications.
• Access control mechanism for user groups, based on configurable policies enforced at various granularities.
– Completely configurable user interface
– Available API
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 31
Functional Comparison(performed in 2014, for VB2)
Name LicenseFree to
use
Deployme
nt
Data
Models
Import/
Export
Scheme
Managem
ent
Custom
RelationsReasoner
Data
quality
Extendibility /
InteroperabilityACL
Workflow
Managem
ent
Collaborati
on,
Content
Validation
RDF
Middlewar
e
RDF
Backend
SPARQL
QueryingSemantic Integration
VocBench
GNU GPL
v3 (web
application)
, Mozilla
Public
License
MPL
(Semantic
Turkey)
YesWeb
application
SKOS-XL,
SKOS
through
offline
scaling
tool
SKOS(-
XL),
versatile
spreadshe
et import
(through
ST Firefox
UI)
Yes
Creation,
Import,
use
Depends
on triple
store
Metrics
API, shared
backend,
pluggable
Yes Yes
Change
feed,
validation
OWL ART
API
(connector
s to
others:
Sesame2
bundled)
provided
by
Sesame2,
or other
connectors
Yes
assisted
(browse&search) linking
of resources from other
projects / manual linking
of LOD resources.
Extensions for RDF
lifting from unstructured
content
PoolParty Proprietary NoWeb
application
SKOS,
SKOS-XL
add-on
SKOS(-
XL),
static
spreadshe
et import
Only top
concepts
Creation,
Import,
use
Depends
on triple
store
Metrics
Validation
rules
REST API YesYes (add-
on)
History,
versioning,
validation
Sesame
SAIL API
provided
by
Sesame2
Yes
Linking
Text Mining & Entity
Extraction, Search
function
WebProtégé
Mozilla
Public
License
(MPL)
YesWeb
application
OWL 2,
OBOOWL
Not
applicable
Creation,
Import,
use
No,
external
reasoning
possible
Metrics
API, shared
backend,plugg
able
Yes No
Discussion
, watching,
changes
feed
OWL API
provided
by Protégé
3
No linking to BioPortal
TemaTres
GNU
General
Public
License
version 2.0
(GPLv2)
YesWeb
application
Term
based
thesaurus
organizatio
n
MADS,
SKOS-
Core,
Zthes,
Others
Import
from:
Skos-
Core,
tabulated
or tagged
text file
One
scheme
per
vocabulary
Creation,
useNo
Metrics,
ReportsAPI
Yes;
limited
Yes;
limited
Limited
validation
No RDF
Middlewar
e, SKOS
RDF/XML
available
only as an
export
Relational
database
(MySQL
by default)
Not native,
no realtime,
can export
data to a
SPARQL
endpoint
through
ARC2 (RDF
library for
PHP)
Linking between
vocabularies, Entity
Extraction (via addon)
SKOSEd
GNU
Lesser
GPL
YesDesktop
applicationSKOS SKOS
Only top
concepts
Creation,
Import,
use
Depends
on
available
plugins
KB
consistenc
y
Pluggable No No No
OWL API
(used by
Protégé 4)
provided
by Protégé
4 (OWL
API)
Yes
(inherited
from
Protégé 4)
N/A
Example 9 (non-entailment)
<A> skos:narrower <B> .
<A> skos:inScheme <MyScheme> .
does not entail<B> skos:inScheme <MyScheme> .
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 32
User Community and Evaluation
USE Values Feature Evaluation
UsefulnessEase of
use
Ease of
learningSatisfaction
Global 5,34 4,49 5,11 4,93
Experienced 5,58 4,66 5,18 5,02
Inexperienced 4,97 4,19 5,00 4,79
easy to use effective interesting
History 5,38 5,50 6,33
SPARQL Querying 4,00 5,40 6,29
Publication Workflow
Management5,50 5,63 6,22
Collaborative
Management5,75 5,88 6,11
Scheme Management 4,83 5,17 5,57
Role-based Access
Control5,33 5,22 5,40
Reasoning 4,29 4,43 5,38
Triple Store Connectivity 3,67 4,50 5,00
Online Questionnaire: http://vocbench.uniroma2.it/purl/VocBench-User-Questionnaire_2014-10.zip
USE* questionnaire: http://hcibib.org/perlman/question.cgi?form=USE
values ranging from 1 to 7
collected 11 anonymous responses
Lund, A.M. (2001) Measuring Usability with the USE Questionnaire. STC Usability SIG Newsletter, 8:2.
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 33
Why should I "buy" it?
Collaborative Management
– Validation&Publication Workflow (propose, validate, publish, revise, deprecate…)
– Fine grained user management
• both users and functionalities may be associated in groups"
• Functionalities (or groups of) may be assigned to different users (or groups of)
– Full editing history (not only concepts, but most of the actions can be subject to validation too)
– RSS Feeds
– Fine-grained metadata and editorial notes: SKOS-XL and reified definitions allow for timestamped status and rich editorial notes
Multilinguality
– Strong support for multi-lingual thesauri management
– Application itself is also multilingual (currently support for english, dutch, spanish, more languages coming)
Native RDF support
– Support for different triple stores
– Possibilty to SPARQL query/update through a dedicated interface with syntax completion/highlight
– SKOS-XL management
• If preferred, SKOS-core export through available conversion tools
Large scale thesauri management
– Scalability limited only by the underlying triple store
Extensibility
– OSGi connectable services
Advanced skos:ConceptScheme Management
– SKOS allows for non-trivial management of multiple conceptual schemes, which is fully supported by VB
And, last but not the least, you don’t have to really "buy" it!: it’s Free and Open Source! (http://vocbench.uniroma2.it)
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 34
VB 2.x Limitations
• VB 2 was born with a clear objective in mind
– Quickly develop a new version of VB (it has been developed in less
than 7 months)
– Allow for a real SKOSXL/RDF general purpose editor, independent
of AGROVOC
– Inheriting (with all its known limitations) VB1.x User/Project
Management and Data Validation
• VB 2 has by far been stretched beyond its original intentions
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 35
VB 2.x Limitations
• Mainly coming from its parts originally retained from VB1.x
– Hybrid info store with Triple Store/DB doesn’t work
– Data stored in DB for Validation/History is opaque (serialized java objects) thus cannot be efficiently
accessed/refactored
– Total lack of a domain model and appropriate generalization
• New actions require completely new structures in the validation/history
• New data views requires to be completely written from scratch
• Absence of a widget UI library or any re-usable UI components
– GWT does not support UI extensibility
– Relational DB based User Management is not easily portable/extensible
• ST has no severe flaws, yet there is room for improvement
– Plugin architecture still not perfect
• Easy to develop plugins
• less easy to add new extension points in the general architecture)
– Hard to manage OSGi with Spring (actually not advised to work together, Spring DM project has been donated to
Eclipse, but barely updated, yet there is no full replacement for both)
– ST has no support for user management, data validation, history etc..
• These need to be included in the core architecture if a real replacement has to be done
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 36
VB 2.x Still possible improvements?
• There are potential improvements that have not
been addressed/completed due to lack of resources
– More interaction with the Linked Data
• Improved Alignment
• Generation of VoID / LIME descriptions
– Data Lifting from spreadsheets (already available in ST,
planned to be ported on VB)
– ICV: more checks are available from the ST engine; only
dangling concepts check is available in VB
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 37
VB 2.4.x maintenance releases…
…while paving the road for VB3
• Recent VB 2.4 (for those who still didn’t give it a try :-) )
– an “Improved Administration” release, most important changes are:
– per-project assignment of roles to users
– introduction of the PM role
• VB 2.4.1 (will be released soon)
– An “improved performance release”
– Concept Tree browsing is dramatically faster
– Expanding the Concept Tree after clicking on a concept resulted from a search has also been further improved
– Improvements in the organization of capabilities for existing roles (especially wrt new actions such as scheme
management)
• VB 2.4.2 (development shortly following 2.4.1)
– Mostly bugfixes on a few security holes for the PM role
– Bugfixes on other spotted bugs
• …and then a 2.4.3 and 2.4.4 followed with other minor improvements and bugfixes, while we started to
develop VocBench 3
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 38
TOWARDS VOCBENCH 3
…and now…
VocBench 3
• A web-based, multilingual, collaborative development platform
for managing OWL ontologies, SKOS(XL) thesauri and
generic RDF datasets
• Funded by the European Commission ISA² programme
• Its development is managed by the Publications Office of the
EU under contract 10632 (Infeurope S.A.)
• Final delivery planned by the end of July 2017
The VocBench3 Team
05/07/2017 41Armando Stellato [email protected]
http://art.uniroma2.it/stellato
The Developers The Users
a whole community supporting its
development
funding sponsors
other users (just some of them, pls
forgive any omission!)
Technological Stack in VB3: Changes
Lightweight Presentation Layer– Angular (previously known as Angular 2)
Business Logic all in ST, including:– User Management/Auth
– Data Validation/History
Commit to Sesame framework– Nowadays (a) winning middleware
– No relevant triple store is uncompatible with
Sesame
– Recently rebaptized as RDF4J, under the
Eclipse umbrella
– Maintaining a neutral middleware such as
OWLART is no more cost-effective
05/07/2017 42Armando Stellato [email protected]
http://art.uniroma2.it/stellato
Vendor data access layerVendor Triple store
OWLART API
Vendor data access layer
Semantic Turkey
Multi User/Collaboration
Business logic
Presentation (GWT)Presentation (Angular)
Semantic Turkey
All BL including Collaboration
(includes: Spring/AspectJ/OSGi)
High-level data access
Raw triple accessRDF4J
Specific Triple Store
Optimizations (e.g. Search)
From Vocbench 2.0 Components…
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 43
Front end Back end
Administrative
Database
(MySQL)
Triple Store
Middleware
Hibernate
Layer
Semantic
Turkey/
OWLART
API
Gilead
Service
Wrapper
Layer
Google Web
Toolkit
(GWT)
Graph
Visualization
GWT
Incubator
Web services
…to VB 3
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 44
Front end Back end
Possible Admin
Data Serializations
Triple Store
Middleware
Semantic Turkey
A
n
g
u
l
a
r
2
User Management
Project
Management
A
d
m
i
n
i
s
t
r
a
t
i
o
n
File System
Relation DB
Triple Store
Data and Metadata Management
Requirements for VB3
R1. Multilingualism
R2. Controlled Collaboration
R3. Data Interoperability and Consistency
R4. Software Interoperability/Extensibility
R5. Data Scalability
R6. Under-the-hood data
access/modification
R7. Adaptive Context and Ease-of-use
R8. RDF Languages Support
R9. Maintainability (Architecture
and Code Scalability)
R10. Full Editing Capability (RDF
Observability and Reachability)
R11. Provenance
R12. Versioning Support
R13. Metadata Descriptions
R14. Customizable UI
R15. Everything’s RDF
05/07/2017 45Armando Stellato [email protected]
http://art.uniroma2.it/stellato
VB3 Features (1)
• Project Management
– Totally hiding interaction with the underlying triplestore (support for repository access or
creation, providing different configurations, or supporting custom ones)
– Dealing with more datasets
• A main dataset for the working data
• Other datasets for metadata / additional info / validation / history etc…
• Flexible scaleout to different scenarios
– be it an easy&immediate desktop use or a collaborative editing, different options
– every important but resource-consuming feature as optional (e.g. validation, history, etc..)
– Binding between scenarios and possible choices for the above options
• Full extensibility
– Plugins covering services + UI extensions
– Functional extension points
• Triple store specific pluggable optimizations (e.g. search optimization)
05/07/2017 46Armando Stellato [email protected]
http://art.uniroma2.it/stellato
VB3 Features (2)
• ST capabilities not exploited by VB (see DEMOs)
– Sheet2RDF
– Custom Ranges
– ICV: Integrity Constraint Validation
– Alignment Import and Validation
– Linked Data Browsing
• But also re-enable VB capabilities not available in ST
– User Management
– Validation/History
05/07/2017 47Armando Stellato [email protected]
http://art.uniroma2.it/stellato
VB3 Features (3)
• Totally new concepts
– Metadata Registry and Retriever (temporary name)
– Lexical Linked Data (LLD) Registry
– MAPLE: a Mapping supporting framework for enabling
cross-language (OWL, SKOS, SKOSXL) access to data,
and match-making lexical resources through the LLD
Registry
– Interaction with collaboration frameworks (e.g. JIRA)
05/07/2017 48Armando Stellato [email protected]
http://art.uniroma2.it/stellato
Vocbench 3 (and ST) Architecture
Three layered extensible
architecture
• Presentation Layer
– Angular. Vocbench User Interface
• Services Layer
– Enables communication between the client
(Vocbench UI) and the ontology
persistence layer.
– HTTP based Services accessed through the
Ajax paradigm
– OSGi Extensible Servicing System
• Persistence Layer
– Access to ontological knowledge.
– Based on RDF4J Framework
– Requires a dedicated RDF4J Sail expressly
developed for VocBench in order to store
information for projects using History &
Validation
05/07/2017 49Armando Stellato [email protected]
http://art.uniroma2.it/stellato
Extensibility
• Client: Angular
– Angular
– Java / JavaScript API for services
– RDF Widgets (still not developed as a library)
• Services: OSGi
– Service Extensions
– Plugins: e.g. dataset metadata (exporter),
exporter filters, rendering engine,
repository configurer, uri generator
• Data and Models: OSGi
– Connectivity to any triplestore compliant
with RDF4J.
– Compliancy with the sail stack
mechanism is necessary for enabling history
and validation
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 50
New directions: Service Deployment through Spring +
custom controller generation
Current service implementation
if (request.equals(Req.isTopConceptRequest)) {String skosConceptName = setHttpPar(Par.concept);String schemeName = setHttpPar(Par.scheme);checkRequestParametersAllNotNull(Par.concept, Par.scheme);response = isTopConcept(skosConceptName, schemeName);
public Response isTopConcept(String skosConceptName, String schemeName) {SKOSModel skosModel = getSKOSModel();
try {ARTResource[] graphs = getUserNamedGraphs();ARTURIResource skosConcept = retrieveExistingResource(skosModel, skosConceptName, graphs);ARTURIResource skosScheme = retrieveExistingResource(skosModel, schemeName, graphs);return createBooleanResponse(skosModel.isTopConcept(skosConcept, skosScheme, graphs));
} catch (NonExistingRDFResourceException e) {return logAndSendException(e);
} catch (ModelAccessException e) {return logAndSendException(e);
}
}
Separation of service method-controller / automatic generation of controller
public boolean isTopConcept(@present ARTURIResource skosConcept, @Optional(defaultValue = “:mainScheme”) ARTURIResource skosScheme)throws NonExistingRDFResourceException, ModelAccessException {
SKOSModel skosModel = getSKOSModel();ARTResource[] graphs = getUserNamedGraphs();return skosModel.isTopConcept(skosConcept, skosScheme, graphs);
}
Annotations may contain
explicit validation checks with
respect to the application’s
semantics
Arguments and returned
values are now explicitly
managed with their native
types.
Marshalling/Unmarshalling to
the serialization formats
adopted by the service is
demanded to dedicated
components
The method signature then drives the generation of the controller, which is the direct frontend for the service. Exceptions
are serialized in the response (the content of which codes both data and application-level error codes) and data validation
annotations are managed by Spring data validation methods
…and a look further beyond!
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato 52
University of Rome “Tor Vergata”______________________________________________________
Time for a demo!
Contacts
VocBench site: http://vocbench.uniroma2.it/
VocBench pages@FAO: http://aims.fao.org/vest-registry/tools/vocbench
You can also follow VB by registering to:
• VocBench Mailing Lists:
– User: http://groups.google.com/group/vocbench-user
– Developer: http://groups.google.com/group/vocbench-developer
• Semantic Turkey Mailing Lists (only for backend related aspects) :
– User: http://groups.google.com/group/semanticturkey-user
– Developer: http://groups.google.com/group/semanticturkey-developer
• AIMS Community Site: http://aims.fao.org/ (you can selected the topics you are interested
into)
05/07/2017 54Armando Stellato [email protected]
http://art.uniroma2.it/stellato
05/07/2017Armando Stellato [email protected]
http://art.uniroma2.it/stellato55/XX