In the past few years, ontologies have emerged as a valuable tool for representing the semantic context of a domain; ontologies provide the required formalism for computers to perform automated reasoning and the high level semantics for humans to work with. A number of tools have emerged that facilitate the creation, maintenance, usage and visualization of ontologies, such as Protégé, KAON, etc. Insofar, however, ontology tools are targeted to maintaining ontology snapshots, i.e. the most recent version of ontologies; past values of properties or relationships are not maintained, neither the period that the values/relationships were in effect can be stored. Some tools encompass ontology versions, which though cannot be effectively used for maintaining entity evolution since, generally, the number of changes in properties and/or relationships is too high, resulting in an excessive and unmanageable number of version.
This work is an extension of the Protégé tool to accommodate the modeling and presentation of entity history, i.e. past values of properties and/relationships; each such value is timestamped with the period that it was (or will be) valid in the real world. To this end, the presented extension provides:
The extension can be used in contexts that the modeling of entities’ history is important, such as historical archives, museums, etc.
For installing the extension you need to perform the following steps:
You may now run Protégé as usual, and the extended version will be loaded.
You may also download the source code (original Protégé code plus the modifications and additions to implement the extension) from the following locations:
The extended version of Protégé encompasses support for:
These extensions are presented in the following paragraphs.
The "Date" data type provides support for expressing individual points in time. The precision with which the time point may be specified varies from year-level to the level of a second. Dates are given and displayed in the ISO-standard format, i.e. YYYY-MM-DD hh:mm:ss (YYYY = year in the range 0000-9999, MM = arithmetic month of the Gregorian calendar in the range 1-12, DD = day within the month in the range 1-31, hh = hour in the range 0-23, mm = minute in the range 0-59 and ss = second in the range 0-59). The following examples illustrate acceptable values for a date slot:
The precision used to denote the time quantity will be termed as granularity in this document. Note that the year is mandatory. Two more values are acceptable as dates, more specifically the strings unknown and now. The unknown value can be used to signify that the date is not known, while the now value should be interpreted as always being equal to the current "wall clock" indication.
The "Period" data type provides support for expressing anchored segments of the time axis, i.e. time intervals with a specific beginning and a specific end. A period is entered as a pair of dates, enclosed in square brackets ([]) and separated with a comma. The dates may be expressed in different granularities, but it is required that the starting date should be less or equal to the end date. The following examples illustrate acceptable values for a period slot:
Contrary, the following examples illustrate unacceptable values for a period slot:
Semantically, a period is considered to include both the starting and the ending time point, e.g. the period [2002-01, 2002-02-12] is considered to include the whole of January 2002 and the twelve first dates of February. This is particularly important for the notion of overlapping periods used in the context of non-multiple temporal types (discussed in the next paragraphs). According to the adopted semantics, periods [2002-01, 2002-02-12] and [2002-02-12, 2002-03] do overlap (since they both include February 12, 2002), while periods [2002-01, 2002-02-12] and [2002-02-13, 2002-03] do not overlap.
The special date values unknown and now may be used for the starting or the ending date of a period (or both). In such a case, no check is performed that the starting date should be before the ending date.
The "t-String" data type allows for entering string-typed values that retain their evolution through time. For example, consider the case that we want to retain history of the addresses at which some organization is installed; for this purpose we would use a t-String typed slot named "Address". In the instance editing window, the slot would be rendered as standard Protégé list box, and we would use the "Add Value" button to enter the proper values for the organization whereabouts, each one tagged with a period expressing when the organization was installed at the specific location, e.g.:
[2000-01-30, 2004-12-06] | Somewhere, Someplace 23, 12345, Neverland |
[2004-12-07, 2006-03-08] | Elsewhere, Otherplace 42, 34567, Neverland |
[2006-04, now] | Anywhere, Anyplace 4, 67890, Neverland |
Note that it is allowed to use mixed granularities across periods timestamping different values (i.e. the first two rows use day-level granularity, while the third one employs month-level); the use of "now" and "unknown" is also permitted.
The semantics for the "multiple" check box in the slot property window are modified for the t-String data type as follows:
Under these definitions, the value list depicted in the following table is not valid for a t-String slot characterized as "non-multiple" because the second and third rows have overlapping timestamps; the same value list is valid for a t-String slot characterized as "multiple".
[2000-01-30, 2004-12-06] | Somewhere, Someplace 23, 12345, Neverland |
[2004-12-07, 2006-03-08] | Elsewhere, Otherplace 42, 34567, Neverland |
[2005-11, 2006-04-18 10:11] | Wherever, Everyplace 88, 98765, Neverland |
[2006-04, now] | Anywhere, Anyplace 4, 67890, Neverland |
No overlap check is performed for timestamps using the "now" and "unknown" date representations at either end.
Please report bugs and suggestions to tprotege@uop.gr
Publications related to t-Protégé
Abstract:
Most ontology development methodologies and tools for ontology management deal with ontology snapshots, i.e. they model and manage only the most recent version of ontologies, which is inadequate for contexts where the history of the ontology is of interest, such as historical archives. This work presents a modeling for entity and relationship timelines in the Protégé tool, complemented with a visualization plug-in, which enables users to examine entity evolution along the timeline.
Abstract:
The continuing need for more effective information retrieval has lead to the creation of the notions of the semantic web and personalized information management, areas of study that very often employ ontologies to represent the semantic context of a domain. Consequently, the need for effective ontology visualization for design, management and browsing has arisen. There are several ontology visualizations available through the existing ontology management tools, but not as many evaluations to determine their advantages and disadvantages and their suitability for various ontologies and user groups. This work presents the preliminary results of an evaluation of four visualization methods in Protégé.
Abstract:
This work presents t-Protégé, a temporal extension to Protégé allowing for creating, managing and visualizing ontologies for time-varying domains.
Downloads for the t-Protégé project:
Attachment | Size |
---|---|
protege.zip | 1.23 MB |
protege_src.zip | 1.28 MB |
documentation.doc | 93 KB |
documentation.pdf | 179.26 KB |