Skip to content
Marc Jansing edited this page Aug 28, 2014 · 6 revisions

Introduction and Goals

iQvoc is a Web-based vocabulary management framework which provides both an intuitive user interface and Semantic Web interoperability.

iQvoc supports vocabularies that are common to many knowledge organization systems, such as:

  • Thesauri
  • Taxonomies
  • Classification schemes
  • Subject heading systems

iQvoc provides comprehensive functionality for all aspects of managing such vocabularies:

  • multilingual display and navigation in any Web browser
  • editorial control for approved versions
  • publishing the vocabulary in the Semantic Web
  • easy customization according to users' needs
  • import of existing vocabularies from a SKOS representation

Context

iQvoc is actively being developed by innoQ and is being employed in a variety of diverse projects.

Infrastructure

based on Ruby on Rails, compatible with a variety of SQL databases

Web API

[not designed to be used by alternative clients, yet?]

Resources

[incomplete; major routes only]

/<language>
    /concepts
        /<ID>
    /labels
        /<ID>
    /collections

/search

Representations

Models

iQvoc's basic models are based on SKOS, providing two main constructs: concepts and labels. A concept represents an abstract notion, labels constitute terms which provide a natural-language representation of concepts.

Each concept may have a preferred label per language, as well as any number of alternative terms or synonyms. It can be described by a variety of notes and external references (matches).

Concepts can be arranged in hierarchies as well as grouped in collections.

Components

iQvoc makes use of Rails engines to provide extensibility and reuse. Individual projects can make use of the iQvoc framework and customize default settings by extending the Iqvoc module - see Getting Started for details.

Client-side

iQvoc's user interface employs progressive enhancement, providing a variety of JavaScript widgets to simplify navigation and data entry.

See Client-Dependencies for a complete list of third-party dependencies.

Configuration

  • SKOS vs. SKOS-XL In basic SKOS mode each label is connected to only a single concept. When choosing SKOS-XL, each label may be connected to multiple concepts.

User Roles

  • guests (anonymous users) can navigate, search and view all published entries
  • readers can view private revisions which have not yet been published
  • editors can create or modify entries, proposing updates for publication
  • publishers, in addition to having editor privileges, can publish modifications and unlock entries
  • administrators, in addition to having publisher privileges, can modify user privileges

Interaction Flow

Editing and Publication

  • when viewing an individual concept or label, editors can choose to edit the respective entry by creating a new version - alternatively, new entries can be created via the user's dashboard
  • creating a new version creates a private revision and locks the entry, preventing simultaneous edits by other users
  • after editing an entry, the editor can propose the changes for publication
  • proposed changes appear in publishers' dashboard, where they can be reviewed and publication can be approved
  • upon publication, the updated version replaces the public version

Import

See Importing.

Process Flow

[as usual with Rails]

Deployment

[any number of possibilities; it's just a framework]