Editing Semantic Tags Specifications Draft version for M27 release

Document type: KP-Lab internal document
Version: 1.2 for M27
Authors: Angela Loroco - DIBE, Marina Scapolla - DIBE
Date : 22.4.2008
Status: Draft
Participants:

Partner's short nameParticipantEmail
DIBEAngela Lorocoangela.loroco@unige.it
DIBEMarina Scapollascapolla@unige.it
EVTEKMerja Bautersmerjab@evtek.fi
FH-OOEChristoph RichterChirstoph.Richter@fh-hagenberg.at


1 Table of Contents

2 Purpose and Scope

This document aims to define the specification of the Editing Semantic Tagging (from now on EST) tool that will be implemented in the M27 prototype.
These specifications are conformant to the WP6 DoW2, where it reports: “Semantic tags are modeled in light-weight domain ontologies (e.g. vocabularies or taxonomies) stored and managed in the SWKM. Semantic tag editor displays the ontology as a tree structure and allows user to edit it (insert, modify, delete concepts in the tree structure), as well as attach (documenting) notes to entries.”
The EST tool will allow managing light-weight ontologies, also called vocabularies/taxonomies. The vocabularies can be lists of words/terms/tags organized as flat lists or they can be arranged in “lower” or “upper” hierarchy. No other kind of relations or “rules” can be explicated.
Considering the importance for KP-LAB project to cope with standards it was decided to adopt the SKOS standard for structuring vocabulary terms.

In this document, a “public vocabulary” refers to an element of the "library" of vocabularies that can be used in any new Shared Space created within the overall SSE.
Public vocabularies are used as “models” by the different SSpAs. The SSpA administrator selects which of them are of interest.
With respect to the current system model a public vocabulary is an instance of the skos:ConceptScheme whose URI is not range of any hasVocabulary property.

A “SSP vocabulary” refers to a vocabulary belonging to a SSpA. It can be a copy of a public vocabulary or a new one created within the SSpA.
A Free Tag vocabulary is a special SSpA vocabulary, which is devoted to collect free text concepts and is instantiated together with the SSpA itself.
With respect to the current system model, a SSpA vocabulary is an instance of the skos:ConceptScheme whose URI is the range of the hasVocabulary property of an Ontology object that belongs to a SSpA.

3 Essential use cases

Create a new vocabulary

Name: create vocabulary
Identifier: UC1
Basic Course of Action:
  • User activates the “create new vocabulary” command
  • A form to insert the vocabulary name and metadata will appear
  • The user will fill the form
  • Save button to complete the creation of a new vocabulary instance

In this preliminary phase the “create vocabulary” operation is done inside the SSP and no support exists to import vocabularies already defined by others.

Figure 1

  • User activates the “create new vocabulary” command
  • A form to insert the vocabulary name and metadata will appear

Figure 2

The user will select from drop down menu:
- PBL vocabulary
- Blank

  • The user will fill the form
  • Save button to complete the creation of a new vocabulary instance

The “PBL vocabulary” choice creates a PBL vocabulary copy belonging to the SSP.
  • At the moment the PBL is the only public vocabulary that can be copied. I cannot use the PBL vocabulary to tag objects of my SSpA until I do not create this copy.

The “Free tag” vocabulary is instantiated together with the SSpA itself, thus no need to add a Free tag voc by this interface.
The user can select from the members of the SSpA who is responsible of the tasks of editing the vocabulary.

Editing a vocabulary

Name: Editing a vocabulary
Identifier: UC2

The editing vocabulary functionality will provide an interface where all the vocabularies created for the SSpA are listed and the user can select the one to edit.
Figure 3 presents the editor GUI.

Figure 3

All the modifications (add, modify, delete) are applied only when the “save” button is pressed. The figure shows a phase of editing where the vocabulary has already been at least once saved. In the start the user did not have any terms but started from blank. Created some terms and placed a hierarchy. But when using the tagging feature of the content items he also made some free tags, therefore the next time he opened the editor the already edited part appears on the left side and the created free tags appear on the right side, which the user can now drag drop into three structure to the place he thinks is appropriate. Give descriptions to the terms and add alternative terms if he feels he needs some. If the user drags a free tag within the structure of vocabulary XXX, the particular term is removed from the free tags list and the term is added to the vocabulary that was originally created from the blank.
Or if it was not created from blank the user drags the free tags from the list and forms the vocabulary he is creating and the tags he has dragged from the free tag list are removed from the free tag list.

The editor works by drag and drop, i.e., the assigning terms to be broader or narrower occurs by dragging the term; as it presents in the left side column in above figure.
By selecting a term, it can be deleted from the – button or a description can be given to in the text box (if there is a description it can be modified in the text box. Thus selecting a term displays the description it has, if it has any. If the term does not have it, the text box prompts the user to write one).
The alternative term can be replaced by the default Preferred term just by copy pasting it to the place of the Preferred term and the preferred can be placed into the Altenative term place.
If the vocabulary has the Alternative term, it would be in the text box already as default. There can be more than one Alternative term. The figure does not present how they can be managed.

Create a new term

Basic Course of Action:
  • User activates the “insert term” command (+)
  • A blank top level row is proposed to input pref label, alternative label and description.
  • The user will fill/edit the information
  • The creation will be effective when the save button is pressed.

Delete a term

Basic Course of Action:
  • User selects the term to delete
  • The user is notified with the number of times the tag has been used and he/she is requested to accept or cancel the deletion.
  • We thought that it would just notify the user that you will really delete tag also from the content items. And not the number – Lili And Ilari can edit this part to conform what we talked about today.

Figure 4

  • If the user accepts the deletion:
    • The term is removed from the interface and
    • At the time the save button will be pressed an automatic process will provide to delete all tags using this term
  • If the user does not accept the deletion
    • The term is not removed from the interface.
  • The delete will be effective when the save button is pressed.

Modify a term

Basic Course of Action:
  • User select the term he/she wants to modify
  • The data about the term (pref label, alt label an description) can be edited
  • The term can be moved in the tree hierarchy
The modification will be effective when the save button is pressed.

4 High level functionalities

The EST tool is used inside the SSP and permits:

  • to create a vocabulary from scratch
  • to make a copy of a public vocabulary (only PBL for M27)
  • to create an empty Free Tag Vocabulary
  • to edit a SSP vocabulary.

The service of publishing a vocabulary will not be provided for M27 release due essentially to the limitations of the current system model.

Creation of a vocabulary from scratch

FunctionalityNotes
Editing of new vocabulary metadata
Editing of terms:Concept metadata, skos structure properties
Saving the vocabulary

Edit an existing vocabulary (No possibility of versioning)

FunctionalityNotes
Modification of vocabulary metadata
Insertion of a new term
Modification of the labers and metadata and hierarchy of an existing term
Deletion of an existing termIn case the term has been used to tag: The tool notifies the SSP objects which will be affected and requests to confirm the deletion of these tags from the SSP objects. In case the user accepts to delete the tags an automatic procedure will start. If the user refuses to delete the tags the system doesn’t allow the user to proceed with the deletion of the term.

5 Design

Data Design

To implement the EST tool, the following classes must be modelled

CLASS VOCABULARY

Namespace core
Namespace dc

Fields:

URI dc:title
dc:description
dc:creator
dc:created
List<Concept> hasTopConcept
List<Concept> allConcepts
Methods:
Set, Get
CLASS CONCEPT
Namespace core
Namespace dc
Fields:
URI
prefLabel
List<String> altLabels
dc:description
dc:creator
dc:created
dc:title
inScheme
String broader
List<String> narrower
//List<String> related → function not provided for M27 release
Methods:
Set, Get
"CLASS ONTOLOGY"
Namespace tlo
Fields:
URI
belongsToSharedSpace
hasVocabulary
dc_creator
dc_created
Methods:
Set, Get
CLASS SEMANTIC CONCEPT
Implemented inside the kannotator model and Kannotator tool. It will be provided as M27 version of KAnnotatorTool. It is the range of the property hasSemanticTag of an OOA, it will be used during the tagging activity to relate a skos:concept to a OOA.
Namespace tlo
Fielsds:
URI
belongsToSharedSpace
title
dc_creator
dc_created
Methods:
Set, Get

Logic Design

The EST Tool is responsible for managing vocabularies, their creation, modification, publication. According to the functionalities, the EST service exposes the following methods :

CREATION OF A NEW VOCABULARY

METHOD INTERFACE:
public URI [] createVocabulary(String title, String description, String creatorURI, String belongsToSharedSpace)
DESCRIPTION: Creates a new vocabulary. The URIs returned are:
  • the VocabularyURI for namespace of type skos:ConceptScheme
  • the Ontology URI of type tlo:Ontology which assigns the vocabulary to the Shared Space (with hasVocabulary propery set with VocabularyURI value)
CREATION OF THE FREE TAGS VOCABULARY (ON FOR EACH SSP)
METHOD INTERFACE:
public URI [] createFreeTagsVocabulary(String creatorURI, String belongsToSharedSpace)
DESCRIPTION:
Creates a new Free Tag vocabulary. This service should be called contextually to the creation of a new SSP and the URI of the Free Tag vocabulary should be imposed and be of this kind: http://www.kp-lab.org/pbl-domain/tagVocabulary#FreeTags_SSPName The method returns two URIs:
CREATE A VOCABULARY COPY
METHOD INTERFACE:
public URI [] createVocabularyCopy(String vocabularyURI, String creatorURI, String belongsToSharedSpace)
DESCRIPTION:
Creates a new and complete copy of the vocabulary (for M27 release only PBL Vocabulary), and returns the new vocabulary URI.
The URIs returned are:
  • the new VocabularyURI of type skos:ConceptScheme
  • the Ontology URI of type tlo:Ontology which assigns the vocabulary to the Shared Space (with hasVocabulary property set with new VocabularyURI value)
"MODIFY VOCABULARY METADATA"
METHOD INTERFACE:
public boolean modifyVocabulary(String vocabularyURI, String title, String description)
DESCRIPTION:
Modify the vocabulary metadata (essentially the title and / or the description)

MOVE A FREE TAG TERM URI FROM FREE TAG VOCABULARY TO ANOTHER ONE

METHOD INTERFACE:
public boolean moveFreeTermURI(String freeTermURI, String freeTagVocabularyURI, String newVocabularyURI, String broader)
DESCRIPTION:
Moves the freeTag from the Free Tags Vocabulary to another. Technically this implies to change (delete and add) its inScheme property to point to the new Vocabulary URI and to assign it a broader term or to add it to the top concepts of a vocabulary.
ADDING A NEW VOCABULARY TERM
METHOD INTERFACE:
public URI createTerm(String PrefLabel, List<string> altLabels, String creator, String inScheme, List <String> narrowerTerms, String broader)
DESCRIPTION:
Creates a new term and assigns it to a Vocabulary instance. This can be also used to copy one term from a vocabulary to another.
DELETION OF A VOCABULARY TERM
METHOD INTERFACE:
public boolean deleteTerm(String conceptURI)
DESCRIPTION:
Deletes a vocabulary term.
If the user accepts the deletion of all the tags using that term
  • the method provides the automatic deletion of all tags
  • the method deletes the term from the vocabulary and manages narrower / broader terms if they exists.
If the user does not accepts the tags deletion:
  • the method exits without any deletion procedure
MODIFYING A VOCABULARY TERM
METHOD INTERFACE:
public boolean modifyTerm(String termURI, String PrefLabel, List <String> altLabels, String description)
DESCRIPTION:
Modify a vocabulary term.
MOVING A TERM IN THE TREE STRUCTURE
METHOD INTERFACE:
public boolean moveTerm(String termURI, String broader)
DESCRIPTION:
Modify the position of a term in the vocabulary tree.


Development DevelopmentSharedSpace

Attachments

add_content_item.jpg Info on add_content_item.jpg 16624 bytes
add_vocabulary.jpg Info on add_vocabulary.jpg 23659 bytes
delete.jpg Info on delete.jpg 14924 bytes
vocabulary_xxxx.jpg Info on vocabulary_xxxx.jpg 52091 bytes
  Page Info My Prefs Log in
This page (revision-57) last changed on 18:24 25-Mar-2017 by OskariHarhakoski.
 

Referenced by
M 27 Editing Sema...

JSPWiki v2.4.102
[RSS]