Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

VocBench 3: some insights on the forthcoming release


Published on

Initially developed by FAO of the UN in the context of the NeOn project as a collaborative environment for the development of the AGROVOC thesaurus, later generalized to a SKOS-XLdevelopment platform in the context of a collaboration with the University of Rome Tor Vergata, VocBench is now reaching its third incarnation.
VocBench 3 (or simply, VB3), is the new version of VocBench, funded by the European Commission ISA² programme, and with development managed by the Publications Office of the EU, under contract 10632 (Infeurope S.A.).
VB3 will offer a powerful editing environment, with facilities for collaborative management of OWL ontologies and SKOS/SKOS-XL thesauri. VB3 will surpass its predecessor with native support for OWL, SKOS and SKOS-XL, completely rewritten components for better User Interface, User Management, History Tracking and Validation&Publication Workflow.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

VocBench 3: some insights on the forthcoming release

  1. 1. 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 ( of the Food and Agriculture Organization of the United Nations Armando Stellato <> 05/07/2017
  2. 2. My Research Lab • Realized as a University Campus distributed over a wide area in the SE of Rome We are located at the Faculty of Engineering, Information Engineering Building Our offices!Our offices! …and LAB! 05/07/2017 2
  3. 3. 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/2017 Armando Stellato 3
  4. 4. 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/2017 Armando Stellato 4
  5. 5. 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/2017 Armando Stellato 5
  6. 6. 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!
  7. 7. 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/2017 Armando Stellato 7
  8. 8. 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/2017 Armando Stellato 8 Business logic MySQL Protégé 3.4 OWLART API GWT / Presentation
  9. 9. V1.0 – 2010 05/07/2017 Armando Stellato 9
  10. 10. 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/2017 Armando Stellato 10
  11. 11. 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] 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/2017 Armando Stellato 11
  12. 12. 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/2017 Armando Stellato 12
  13. 13. …and here it was VB2 05/07/2017 13
  14. 14. The VocBench2 Team 05/07/2017 Armando Stellato 14
  15. 15. R1. Multilingualism 05/07/2017 15 …and multilingual UI: (currently: English, Spanish, Dutch, Thai) multilingual editing …and visualization
  16. 16. R2. Controlled Collaboration (1/3) Role-based Access Control 05/07/2017 Armando Stellato 16
  17. 17. 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/2017 Armando 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
  18. 18. Recent Changes • Available through a dedicated module • or as RSS feeds includes both: – User changes – Content changes R2. Controlled Collaboration (3/3) 05/07/2017 Armando Stellato 18
  19. 19. 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 SKOSSKOS-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/2017 Armando Stellato 19
  20. 20. 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/2017 Armando Stellato 20
  21. 21. R3. Data Interoperability and Consistency (3/3) Alignment 05/07/2017 Armando Stellato 21
  22. 22. 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 – Past experiments with Allegrograph and Jena Middleware • For GraphDB/OWLIM SE, we exploit its free-text indexing capabilities 05/07/2017 Armando 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)
  23. 23. 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/2017 Armando Stellato 23
  24. 24. R6. Under-the-hood data access/modification Embedded SPARQL Editor 05/07/2017 Armando Stellato 24 Syntax highlight… …completion… …and validation
  25. 25. 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/2017 Armando Stellato 25
  26. 26. Statistics Module 05/07/2017 Armando Stellato 26
  27. 27. 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
  28. 28. Vocbench 2.0 (and ST) Architecture 05/07/2017 Armando 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
  29. 29. VB “desktop version”: Semantic Turkey for Firefox 05/07/2017 29
  30. 30. Related Works (1/2) • PoolParty: [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: 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/2017 Armando Stellato 30
  31. 31. Related Works (2/2) • TopBraid EVN: Web-based Editor for Business Vocabularies – 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: 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é: [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/2017 Armando Stellato 31
  32. 32. Functional Comparison (performed in 2014, for VB2) Name License Free to use Deployme nt Data Models Import/ Export Scheme Managem ent Custom Relations Reasoner Data quality Extendibility / Interoperability ACL Workflow Managem ent Collaborati on, Content Validation RDF Middlewar e RDF Backend SPARQL Querying Semantic Integration VocBench GNU GPL v3 (web application) , Mozilla Public License MPL (Semantic Turkey) Yes Web 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 No Web 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 Yes Yes (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) Yes Web application OWL 2, OBO OWL 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) Yes Web 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, use No Metrics, Reports API 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 Yes Desktop application SKOS 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/2017 Armando Stellato 32
  33. 33. User Community and Evaluation USE Values Feature Evaluation Usefulness Ease of use Ease of learning Satisfaction 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 Management 5,50 5,63 6,22 Collaborative Management 5,75 5,88 6,11 Scheme Management 4,83 5,17 5,57 Role-based Access Control 5,33 5,22 5,40 Reasoning 4,29 4,43 5,38 Triple Store Connectivity 3,67 4,50 5,00 Online Questionnaire: USE* questionnaire: 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/2017 Armando Stellato 33
  34. 34. 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! ( 05/07/2017 Armando Stellato 34
  35. 35. 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/2017 Armando Stellato 35
  36. 36. 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/2017 Armando Stellato 36
  37. 37. 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/2017 Armando Stellato 37
  38. 38. 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/2017 Armando Stellato 38
  39. 39. TOWARDS VOCBENCH 3 …and now…
  40. 40. 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
  41. 41. The VocBench3 Team 05/07/2017 41 Armando Stellato The Developers The Users a whole community supporting its development funding sponsors other users (just some of them, pls forgive any omission!)
  42. 42. 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 42 Armando 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)
  43. 43. From Vocbench 2.0 Components… 05/07/2017 Armando 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
  44. 44. …to VB 3 05/07/2017 Armando 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
  45. 45. 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 45 Armando Stellato
  46. 46. 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 46 Armando Stellato
  47. 47. 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 47 Armando Stellato
  48. 48. 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 48 Armando Stellato
  49. 49. 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 49 Armando Stellato
  50. 50. 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/2017 Armando Stellato 50
  51. 51. 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
  52. 52. …and a look further beyond! 05/07/2017 Armando Stellato 52
  53. 53. University of Rome “Tor Vergata”______________________________________________________ Time for a demo!
  54. 54. Contacts VocBench site: VocBench pages@FAO: You can also follow VB by registering to: • VocBench Mailing Lists: – User: – Developer: • Semantic Turkey Mailing Lists (only for backend related aspects) : – User: – Developer: • AIMS Community Site: (you can selected the topics you are interested into) 05/07/2017 54 Armando Stellato
  55. 55. 05/07/2017 Armando Stellato 55/XX