The agrovoc concept server workbench
This presentation is the property of its rightful owner.
Sponsored Links
1 / 109

The AGROVOC Concept Server Workbench PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

The AGROVOC Concept Server Workbench. AOS partners: FAO, KU, ICRISAT, Maryland University October 2009. Outline. Background From a traditional thesaurus to the Agricultural Ontology Service Concept Server AGROVOC Concept Server Workbench Technical information What’s Next . Background.

Download Presentation

The AGROVOC Concept Server Workbench

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

The agrovoc concept server workbench

The AGROVOC Concept Server Workbench

AOS partners: FAO, KU, ICRISAT, Maryland University

October 2009



  • Background

  • From a traditional thesaurus to the Agricultural Ontology Service Concept Server

  • AGROVOC Concept Server Workbench

  • Technical information

  • What’s Next



The agrovoc concept server workbench


  • Multi-partner initiative, 2001

  • Facilitate the provision of services in the agricultural domain with the use of semantic technologies

  • Resources and standards

    • KOS and mappings, Metadata Elements and Schemes

    • Registries and Ontology Server

    • Tools and Publication, ……

  • Sharing, Interoperability

What is agrovoc

AGROVOC is a multilingual structured thesaurus

Covers all the subject fields in agriculture, forestry, fisheries, food and related domains (e.g. environment)

Consists of words or expressions (terms), in different languages and organized in relationships

Relations (e.g. “broader”, “narrower”, and “related”) are used to identify and connect terms

What is AGROVOC?

Who developed agrovoc

The AGROVOC Thesaurus was developed by the FAO and the Commission of the European Communities in the early 1980s

Maintained and updated online by FAO roughly every three months

Who developed AGROVOC?

Who uses agrovoc

AGROVOC is used all over the world, mostly for indexing and retrieving data in agricultural information systems

Statistical value show an average hits of 5,400 on any weekday to AGROVOC Thesaurus

About 90 countries regularly access AGROVOC online

Who uses AGROVOC?

Why is agrovoc multilingual

AGROVOC is used world-wide, so it is imperative to translate the thesaurus into as many languages as possible

This helps the users to index or search information sources in their own language

It is available in 6 official languages of FAO - English, French, Spanish, Chinese, Arabic and Russian

Also available in other languages - Portuguese, Czech, Japanese, Thai, Slovak, German, Hungarian, Polish, Persian, Italian, Malay, Telegu, Hindi, Turkish, and Lao

Why is AGROVOC multilingual?

How is agrovoc structured

AGROVOC is made up of terms, which consist of one or more words representing always one and the same concept

For each term, a word block is displayed, showing the hierarchical and non-hierarchical relation to other terms: BT, NT ,RT, USE/UF

Scope notes are used in AGROVOC to clarify the meaning and the context of terms

How is AGROVOC structured?

More meaning to agrovoc relations

A thesaurus has equivalence (USE/UF), broader term (BT), narrower term (NT), and related term (RT) relationships

There is a need of an extended set of relationships to perform more granular and more consistent indexing

With this extension, more effective searching and browsing for users is possible

More meaning to AGROVOC relations


The term "pollution" can have association with other terms

Ex: "pollutants" is formally associated with the term "pollution" using the Related Term (RT) relationship

In practice, we may be able to indicate explicitly that "pollutants" cause "pollution“

=> Relationship becomes more meaningful than simply portraying them as Related Terms (RT)


What more semantics means

What more semantics means


  • UF corn

  • NT flint maize NT popcorn NT sweet corn

  • MILK

  • NT Milk Fat

  • NT Colostrum

  • NT Cow Milk

  • International Fund for Agricultural Development



  • synonym corn

  • superclass-of flint maize used-to-make popcorn hybridized-into sweet corn

  • MILK

  • ingredient Milk Fat

  • ingredient Colostrum

  • superclass-of Cow Milk

  • International Fund for Agricultural

  • Development

  • acronym IFAD

From a traditional thesaurus to the agricultural ontology service concept server

From a traditional thesaurus to the Agricultural Ontology Service Concept Server

Expressing agrovoc in owl

to facilitate its use for developing agricultural domain knowledge organization systems, including ontologies, without requiring the terminologist to start from scratch

to enable the development of applications using semantic technologies

to enable interoperability between applications using these ontologies

to better support information management for the web environment

Expressing AGROVOC in OWL

Agrovoc concept server

AGROVOC Concept Server

  • It is a one-stop shop for terminological knowledge related to agriculture in general

  • A knowledge base of related concepts organized in ontological relationships (hierarchical, associative, equivalence)

  • Is a concept/term/string based system

  • Contains 600000 terms in around 20 languages.

  • Concepts may be also organized in multiple categories.

Three levels of representation

Concepts (the abstract meaning)

Ex: ‘rice’ in the sense of a plant,

Terms (language-specific lexical forms)

Ex: ‘Rice’, ‘Riz’, ‘Arroz’, ‘稻米’, or ‘Paddy’

Term variants (the range of forms that can occur for each term)

Ex: ‘O. sativa’ or ‘Oryza Sativa’, ‘Organization’ or Organisation’

Three levels of representation

Concept example

Concept example


  • hasLexicalization

    • Organizações(pt)

    • Organization (en) [P. T]


      • Organisation (uk-en)

  • hasSubClass

    department (en)

    • hasStatus

      • Published

    • hasDateCreated

      • 12/12/2006

    • hasDateUpdated

      • 01/10/2009

    Semantic relationships

    Semantic Relationships

    Agrovoc concept server workbench

    AGROVOC Concept Server Workbench

    The workbench

    The Workbench

    • Is a web-based working environment for managing the AGROVOC Concept Server

    • Facilitate the collaborative editing of multilingual terminology and semantic concept information

    • It includes administration and group management features

    • It includes workflows for maintenance, validation and quality assurance of the data pool

    • The CS is accessible freely to everybody to facilitates collaborative editing

    Users roles groups

    Non registered users

    Term editors

    Ontology editors





    Users roles groups cont

    Non registered users

    can navigate or search the system

    can suggest terms in any language

    can suggest concepts and relationships

    Term editors (terminologist/thesaurus editor)

    Can suggest on concepts modifications

    can add/edit/delete only terms with languages assigned

    can edit/delete only by editors who are the creators of the term

    Ontology editors (terminologist/thesaurus editor )

    can manage terms (of specific languages) and concepts

    Can delete concepts only with the terms with languages assigned

    Can edit/delete only by the editors who are the creator of the concept

    Users/Roles/Groups cont.

    Users roles groups cont1


    can check and validate the work done by the editors (terms and ontology editors) based on assigned languages

    Publishers (ontology editors)

    Have permission on terms and concepts

    Can validate editors and confirm validators work

    access to all languages


    all previous plus manage users, groups, provide statistics, etc

    access to all languages

    Users/Roles/Groups cont.

    Concepts terms status

    Proposed by guest


    Revised by guest




    Proposed deprecated


    Concepts/Terms Status

    Concepts terms status cont

    Proposed by guest

    status is set to new concepts/terms created by non-registered users


    status is set to new concepts/terms created by registered users

    Revised guest

    status is set to changes made by non-registered users


    status is set to changes made by registered users

    Concepts/Terms Status cont.

    Concepts terms status cont1


    status is set once validator confirms the concepts/terms


    status is set to published after the approval of publisher

    Proposed deprecated

    status is set if the concepts/terms are deleted


    status is set once the validators /publishers confirms the deleted concepts/terms

    Concepts/Terms Status cont.

    Registration page


    Login page

    Login Page




    Concept/Term Management

    Relationship Management

    Classification Scheme Management


    Consistency Check


    User/Group Management




    Link to different modules

    Sign out link to logout from the system.

    Post Comment link to send the comments about that specific module

    Help link to view the help for specific module

    Display Language link to choose the languages for data to be displayed


    Display language

    Select the languages to be shown for concepts



    Allows provision of feedbacks for each module


    The agrovoc concept server workbench

    Steps by steps procedure for each module


    Home page

    Home Page

    Home page1

    Shows the list of recent changes in reverse chronological order

    Redirect to the respective module clicking on the list item

    Ex. Click on the concept to go the concept module

    Provides basic information about the workbench

    Home Page


    by string: the user can specify if the system should search by exact match, beginning with, contains or fuzzy

    by URI or termcode; or by range of term code (e.g. between 123 and 9876)

    by sub-vocabulary

    by classification schemes

    by creation or modification date

    by specific relationships (e.g. search all concepts using the “has_pest”)

    by status

    by language




    Search criteria

    Exact match (“water” will find only water)

    Starting with (“water” will find “water”, “water management”, and “watergate”)

    Contain (“water” will find “water”, “water management”, “inland water”, and “watergate”)

    Exact word (“water” will find “water”, “water management”, “inland water” but not “watergate”)

     Case Sensitive (“ABc” will find only for the word “ABc” and not “abc”

    Include Description

    Search also content of definitions, images, editorial notes, scope notes

    Include Spelling Variant

    Search also on different spelling variants

    Search Criteria

    Concept management

    Visualize / Navigate Concepts

    depending on the access level, user can edit

    Show selected concept details

    all terms and other information

    Show selected concept relationships

    Delete concept

    Can view the URI of the concept enabling ‘Show URI’ option

    Concept Management

    Concept term management

    Concept/Term Management

    Add delete concept

    Add/Delete Concept

    • Add term to the newly created concept in one language

    • Can delete the concept and all the relationship associated with that concept

    Concept relationship

    Can create the concept-concept relationship

    Inverse relationship is also created automatically

    Ex: If we create A affect B, then B is affected by A relationship is also created

    Concept Relationship

    Concept image

    Concept Image

    • Name of the image with description

    • URL will point to the image which will open in an external

    • Provide the source of the image

    • Can add more translation in different language

    Scope notes editorial notes

    Scope Notes / Editorial Notes

    • In Editorial Notes, we can post the modifications made to the selected concepts

    • In Scope Notes, we can post information for indexing

    • Both can contain multiple values in multiple languages

    Concept definition

    Concept Definition

    • Add definition to the selected concept

    • Add translation in different languages

    • Provide the source of the definition

    • Creation and modified date are set automatically

    Graph visualization

    Graph Visualization

    Term management

    Visualize / Navigate Terms

    depending on the user access level and role

    Show selected term details

    Show selected term relationships

    Show term variances

    Add/Edit/Delete term

    Term Management

    Add edit delete term

    Add/Edit/Delete Term

    • Term actions will be associated to the selected concept

    • Term can be created in different languages

    • Term can be set as preferred or non preferred

    • An option allows preferred terms visualization only in the concept tree browser

    Term history information

    Term History Information

    • Shows term creation and updated date

    • Shows status of the term

    • Shows the history of actions on this term

    Term relationship

    Term Relationship

    • Add/edit/delete term-term relationship

    • Relationships can be

      • is scientific name of

      • has scientific name

      • has synonym

      • has translation

      • is acronym of

      • has acronym

      • has abbreviation

    Term spelling variant

    Term Spelling Variant

    • Can assign the different spelling variant for the terms in different languages

    • Ex:

      • color (us-en)

      • colour (uk-en)

    Term codes

    Term Codes

    • Can assign the term codes reference for backward compatibility

    • Possible values:

      • AGROVOC Term code

      • FAOTERM code

      • CABI code

      • NAL code

      • Fishery 3 Alpha code

      • Taxonomic code

    Relationship management

    Can create 2 types of relationships

    Object properties

    Value of this properties is an object

    Data type properties

    Value of this properties can be literal or string.

    All the relationship for concept-concept or concept-term can be created from this module

    Relationship Management

    Relationship management1

    Relationship Management

    Label definition


    • Can add/edit/delete the label for relationship in multiple languages

    • Can add/edit/delete definition of the relationships in multiple languages

    Properties domain range

    Properties / Domain & Range

    • Can assign functional, transitive, inverse & symmetric properties to the selected relationship

    • Only functional properties can be selected for datatype properties

    • Can specify the domain & range


    Shows the count of users assigned for every language

    Shows the count of total number of users

    Shows the count of number of terms assigned per users

    Shows the count of number of terms per status

    Shows the count of number of concepts per status

    Shows the count of number of relationships assigned by users

    check number of connections per users; (from log registry)

    check who last connected; (from log registry)

    for every user show modifications since last connection



    Statistics on the use of relationships:

    count number of concepts per relationships

    list the domain(s) and range(s) for relationships

    E.g. the relationship “has_pest” has been applied between “cereal” and “caseworm”, and between “rice” and “Hydrelliaphilippina”

    Domain of the relationships: “cereal”

    because broad concept of “rice”

    Range(s) are “caseworm” and “Hydrelliaphilippina”

    because they don’t belongs to the same hierarchical tree.

    Count number of exports for specific date range grouped by type of export (format)



     Accessible to

    Super Users (administrators),

    Publishers, and

    Group managers (validators)

    Print Functionality

    can print the content of the statistics in a more printer friendly version






    • Formats

      • SKOS

      • RDBMS-SQL

      • TBX

      • OWL-Simple

      • OWL-Complete

    • Criteria

      • Sub-vocabulary

      • Scheme

      • Concept

      • Term

      • Date



    Import module

    Import Module

    Classification schemes

    Can create/edit/delete classification schemes

    Can create new category or assign existing domain concept to the classification schemes

    Can manage term, variant, scope note, history change, definition for such category

    Mapping categories to domain concepts is possible

    Classification Schemes

    Classification schemes1

    Classification Schemes


    Allows to verify the new concept/term created, edited or deprecated and assign new status to them

    Accessible to

    Super Users (administrators),

    Publishers, and

    Group managers (validators)

    Validates or confirms the work done by

    Term editors,

    Ontology editors, and

    non-logged-in users suggestions



    Validation can occur at 3 different levels:

    Concept Validation

    for any status, proposed, proposed deprecated, etc

    Term Validation

    this functionality can be also accessed by ontology experts in order to validate proposed terms

    Relationship Validation

    can be concept-to-concept/concept-term/term-concept/term-term

    Validations can be filtered based on






    Validations for different actions

    Validations for different Actions

    • concept-create

    • concept-delete

    • concept-edit

      • relationship-create

      • relationship-edit“

      • relationship-delete“

      • scope-create

      • scope-edit

      • scope-delete

      • definition-create

      • definition-translation-edit

      • definition-delete

      • image-create

      • image-delete

    • concept-edit

      • image-translation-create

      • image-translation-edit

      • image-translation-delete

      • definition-translation-create

      • definition-translation-delete

      • ext-source-create

      • ext-source-edit

      • ext-source-delete

      • image-source-create

      • image-source-edit

      • image-source-delete

      • change-history-create

      • change-history-edit

      • change-history-delete

    Validations for different actions1

    Validations for different Actions

    • term-create

    • term-edit

    • term-delete

    • term-relationship-add

    • term-relationship-edit

    • term-relationship-delete

    • term-spelling-variant-create

    • term-spelling-variant-edit

    • term-spelling-variant-delete

    • term-codes-create

    • term-codes-edit

    • term-codes-delete

    • scheme-create

    • mapping-create

    • mapping-delete


    Validation list will show

    The concept/term edited with URI and the lexicalizations in the selected languages

    Old/New Value




    Creation/Modified Date

    Note Column

    Check box to either Accept or reject

    User has the possibility to validate one by one all modifications, or select the radio button to accept /reject all of them

    Based on acceptance or rejection, the status of the concept/term will be changed automatically

    User can click the “done” button to completed the validation process

    Email are sent to the users who originally proposed it, with a summary of the modifications




    Consistency check

    Consistency Check

    • Check: Concepts (published, validated) with less or more than one main label in one particular language

    • Check: Concepts (published, validated), which have the same main label in a particular language

    • Check: Terms that are not associated to any concept (orphaned terms)

    • Check: Concepts/Terms with no status

    • Check: Children of deprecated concepts

    • Check: Concepts that have no sub classes AND no other relationships

    • Check: Concepts that are in the same hierarchy branch AND have additional semantic relationship(s)

    • Check: Concepts which have the same ingoing and outgoing non-symmetric relationship

    • Check: Concepts that have not been assigned their inverse relationship

    • Check: Concepts (not deprecated) with all terms 'deprecated' or 'proposed deprecated'

    • Check: Terms that have no relationships to other terms

    • Check: Terms that have duplicate term codes

    Consistency check1

    Consistency Check

    • List: Concepts with status 'deprecated' or 'proposed deprecated'

    • List: Unused relationships

    • List: Concepts (validated, published) without any definition

    • List: Terms that have exact same spelling in different languages

    • List: Terms that have no AGROVOC code

    • List: Terms that have duplicate term codes

    • List: Concepts that have no term yet in a specified language

    Consistency check2

    Consistency Check

    Group management

    Existing Groups

    Shows the list of currently created groups

    Can add/edit/delete groups

    Group Permissions

    Shows the list of modules accessible for that group

    Can add/delete accessibility to modules for each group

    Ex: administrator can access all the modules but term editors cannot access the validation module

    Member of Groups

    Shows the list of users assigned to that group.

    Can add/delete users from the selected group.

    Group Management

    Group management1

    Group Management

    User management

    Add user

    Assign username (mandatory)

    Assign password (mandatory)

    Assign status (active / not active, default = active) (mandatory)

    Add Institution name

    Add email (mandatory), and instant messaging contact

    Add comment (optional)

    Assign a supervisor (optional)

    Assign user permissions (roles) (mandatory)

    Assign languages (mandatory)

    Assign groups (mandatory)

    Delete user

    Edit user

    Change user status

    User Management

    User management1

    Assign user roles/permissions


    group created user to different groups

    Ex. If user is assigned as Validators , all the modules assigned to validator will be accessible to that users

    Assign languages

    mandatory for term/ontology editor and validators

    users will be able to edit only those concepts/terms with the assigned languages

    Assign Groups

    Mandatory (every user should have at least one group)

    can be assigned more than one group

    User Management

    User management2

    User Management

    System preferences

    Manage user password

    Set an email for correspondence and notifications

    Set the language for the interface

    Languages to display concepts/terms (1 or more)

    Set options to Show/Hide concept URIs. By default hide

    Visualize or hide “deprecated” terms or concepts

    Set the preferred default ontology

    Set the initial screen to work with upon user login (i.e. concept browsing, term browsing, etc.)

    System Preferences

    System preferences1

    System Preferences

    The agrovoc concept server workbench


    Web services

    Using web services, changes on the AGROVOC Concept Server can be accessed immediately, reducing the time and effort necessary to download and incorporate the latest version of the AGROVOC Concept Server data into applications












    Web services

    Web services1

    Web services



    Technical information

    Technical information

    System architecture





    Protégé OWL API

    User Management

    Group Management

    System Preference


    Consistency Check




    Scheme Management

    Concept Management

    Relationship Management

    Ontology repository (OWL)

    System Data Repository

    System Architecture



    • Front end

      • AJAX technology (Google Web Toolkit)

    • Middleware

      • Hibernate / Gilead

    • Back end

      • Triple Store (Protégé/MySQL)

      • System database (MySQL)

    Tools and technologies in detail

    Tools and Technologies in detail

    Tools and technologies versions

    Tools and Technologies Versions

    Production server configuration

    Production Server Configuration

    Performance analysis

    Performance analysis

    • Frontend performances (ongoing)

      • GWT vs JSP vs …..

    • Backend performances (ongoing)

      • Sesame vs. Protégé vs. OWLLimvs …………

    • Server performances (todo)

      • xCPUs 64bit 8G-RAM vs ……………

    Performance timing

    Performance timing

    • Response time: is the time to wait to have a list of result from the repository and send the data to client from server

    • Rendering time: is the time to wait to have the information displayed in the web interface

    • Total time : is the total time from client sends request and and gets backs data and renders it in the browser (response time + rendering time)

    Test cases

    Test Cases

    • Case: Test 1

      • Use JSP Technologies

      • User HTML table to load concepts

    • Case: Test 2

      • Use GWT Technologies

      • Use HTML to load concepts (without using Tree)

    • Case: Test 3

      • Use GWT Technologies

      • Use GWT Tree to load concepts

    Test result

    Test Result

    Performance actions in v1 0

    Performance Actions in v1.0

    • Tomcat Configuration

    • Use GZIP Compression

    • Use of Fast Tree component of GWT incubator

    • Use of Image bundle

    • Use of Optimized Object

    • Lazy loading of Tree

    Test cases1

    Test Cases

    • Test 1

      • No concept image icon

      • Used GWT Incubator Fast tree component

    • Test 2

      • With concept image icon

      • Used GWT Tree component

    • Test 3

      • With concept image icon

      • Used GWT Incubator Fast tree component

    Test result1

    Test Result

    Test result2

    Test Result

    Test result prot g vs sesame

    Test Result Protégé vs. Sesame

    Test on sesame

    Test on Sesame

    • MEM_NoRS: in-memory management, no reasoning; file is set to be synced with the memory each 15 seconds

    • NAT_NoRS: indexed file management, no reasoning

    Test result on sesame

    Test Result on Sesame

    Tests on swift owlim

    Tests on Swift OWLIM

    • NoRS: no reasoning activated

    • RDFS: rdfs reasoning activated, partial RDFS optimization on

    • RDFS_NoPart: rdfs reasoning activated, partial RDFS optimization off (direct reasoning is used for subclass of specific concept; not possible for root concepts, due to no reasoning for owl:Thing)

    Test result on swift owlim

    Test Result on Swift OWLIM

    Test result on allegro graph

    Test Result on Allegro Graph

    What s next

    What’s Next

    Next steps

    Next steps

    • Performance tests to complete (incl. MIMOS)

    • Development to complete

    • Complete Help and training material

    • Hosting

    • WB v1.0 final report

    • WB v2.0 project plan

    Collaboration with mimos

    Collaboration with MIMOS

    • Performance tests (production server)

    • Development environment (remote access)

    • Hosting

    • Options

      • Replace backend with AllegroGraph

      • Use and customize MIMOS applications

      • Replace front-end ?

    • Join the AOS initiative

    Thank you

    Thank you

    [email protected]

    [email protected]

    [email protected]

    Ton [email protected]

    [email protected]

    [email protected]

    Johannsen Gudrun [email protected]

    Boris Lauser, Armando Stellato, Claudio Baldassarre

    With the supervision of: Johannes Keizer, AsaneeKawtrakul, DagobertSoergel

    And others AOS partners.

  • Login