Conference PaperPDF Available

Instances of Instances Modeled via Higher-Order Classes

Authors:
  • Enterra Solutions

Abstract and Figures

In many languages used for expressing ontologies a strict division between classes and instances of classes is enforced. Other languages permit instances of instances without end. In both cases, ontological meaning is often mistakenly assumed from these purely syntactic features. A rigorous set of definitions for different levels of classes is presented to enable concepts to be unambiguously defined.
Content may be subject to copyright.
Instances of Instances Modeled via
Higher-Order Classes
douglas foxvog
Digital Enterprise Research Institute (DERI), National University of Ireland, Galway, Ireland
Abstract. In many languages used for expressing ontologies a strict division between
classes and instances of classes is enforced. Other languages permit instances of instances
without end. In both cases, ontological meaning is often mistakenly assumed from these
purely syntactic features. A rigorous set of definitions for different levels of classes is
presented to enable concepts to be unambiguously defined.
1 Introduction
Ontology languages normally distinguish types of objects (also called class, con-
cept, collection, ...) from things that are not types (individuals, instances, ...).
An issue that has often been recognized is that types of classes exist, thus mak-
ing instances of these meta-classes classes themselves. Some systems address this
issue by disallowing meta-classes, others allow meta-classes without restriction,
and others do not distinguish between classes and individuals. In order to pro-
vide for rigor in this field, an ontology of levels of meta-classes was created for
the Cyc Project and is presented here.
Section 2 presents terminology used in this paper; Section 3 presents related
work; Section 4 presents the system of levels of meta-classes; Section 5 describes
object ontology order; and Section 6 provides some rules concerning classes of
various levels.
2 Terminology
In this document, the word class is used to denote a type for which instances are
permissible in an ontology, whether or not the instances are actually included
in the ontology. Various ontology languages use the words “concept”, “type”, or
“collection” for this meaning or a subset of this meaning. Outside the field of
computerized ontologies the word “category” is also used. Class is distinct from
group in that a class has no physical properties, while a group of objects may
have mass, temporal duration, location, ownership, and other such properties1.
Class is distinct from set in that a class may have different instances at different
1Note that groups may have properties in addition to those derived from their members: a group of
people may own a piece of land even though none of its members individually owns even a piece of
the land.
times or in different contexts2, while a set’s elements are fixed3. Different classes
may have the same extent (including an empty extent) in a given context, but be
different classes, while two sets with the same members are the same set. A class’s
instances typically have one or more features or attributes in common, while a set
may have arbitrarily selected members - however, ontology languages typically
also allow for extensionally defined classes. A class is similar to an intensionally
described set (one whose members are specified by rules as opposed to by a
recounting of its members) and the distinction between the two concepts is not
made in some ontology languages in which the context for the description is
constant.
The term individual is used here to represent any component of an ontology
that is an element or instance of a class but is not itself a class. Certain ontology
components, such as datatype values (e.g. numbers and character strings), rela-
tions, and functions are included as “individuals” (and types of them as classes)
in some systems but not in others. In systems that do not permit a class to be an
instance of another class, the word “instance” is frequently used for all elements
of a class, even if the real-world referent is a type, such as a dish offered on a
menu.
The word “instance” is also used for all instances of classes in systems that
allow meta-classes but do not require every element of the ontology to be an
instance of some class. In systems in which every term is an instance of some
class, the word is not used in an unqualified manner. The term instance is
used in this document only to refer to the relationship which one element of an
ontology has with respect to a class in the same ontology.
The term meta-class is defined as the class of all classes each of whose
instances is necessarily a class. Since each instance of meta-class is by definition a
class, meta-class is an instance of itself. An ontology of meta-classes is presented
in Section 4, with the terms being defined as they are presented.
Two classes are disjoint if and only if they necessarily have no elements in
common.
3 Related work
3.1 Russell’s Simple Theory of Types
Russell’s Simple Theory of Types [13], developed in the early 20th Century,
defines and describes different categories of sets, starting with sets of individuals,
sets of sets of individuals, and so on. Allowing sets of more than one level to be
2A context is a domain of applicability within which a set of statements are true, for example the
point of view of a political party, the background situation of a work of fiction, or a hypothetical
situation. For a detailed description of contexts see [9].
3A computer variable which refers to a set may reference a different set at different times. The sets
themselves do not change.
members of the same set opened the way for the paradoxical “set of all sets that
do not contain themselves”, and so were disallowed.
Russell and other philosophers developed numerous variations of the original
Simple Theory of Types.
Russell (for obvious reasons) did not apply his various levels or orders of sets
to computerized ontologies.
3.2 KIF
KIF [6] distinguishes class and individual and allows for classes of classes. KIF
does not further distinguish different types of meta-classes. In order to avoid
Russell’s paradox, KIF does not permit a class to have an unbounded element,
with a bounded element defined as either a non-set or a set all of whose elements
are bounded. Using this definition, no class may contain itself, because any such
class would be unbounded.
3.3 UML
UML has a four-level architecture in which each component at one level is an
instance of exactly one component at the next highest level [1]. Each component
at the highest level is an instance of some component (possibly itself) at this
same level. As such, each level is used to define the next lower level, with the
lowest level (M0) being the “user object” level, the next level (M1) being the
“user model” level, the next level (M2) being the “metamodel” or ontology
language level used for defining terms at the M1 level, and the highest level
(M3) being the “metametamodel” level used for defining the ontology language.
Some items may appear at different levels and others may be instances of
components at different levels. For example, Class is a component of both M2
and M3, and HenryThoreau from the M0 level is an instance of both Person at
the M1 level and Instance at the M2 level.
Since only items at the lowest two levels are part of the user-created ontology,
user ontologies can not contain concepts which are classes of classes.
3.4 RDFS(FA)
Pan and Horrocks argue in their proposal for RDFS(FA) (RDFS with Fixed
metamodeling Architecture) that at least two levels of class are needed and
relay a finding that “in practice, it has not been found useful to have more than
two class primitives in the metamodeling architecture,” so they find it reasonable
to define only two class primitives [12]. They do not consider a possible desire
by the ontology builder to use multiple levels of classes in the user ontology.
3.5 Other Ontology Languages
Other ontology languages either do not distinguish individuals from classes,
allowing any instance of a class to have its own instances (e.g., F-Logic [2],
RDF-S [8], TRIPLE [14]), or do not permit classes of classes (e.g., DAML+OIL
[16], OWL [11], OXML [5], Power-Loom [3], WSML [4]).
4 Ontology of Levels of Meta-Classes
Although the Cyc Project [7] had distinguished meta-classes for years, in 2002,
the lack of an ontology of levels of meta-classes became obvious to ontologi-
cal architects at Cycorp. Since every constant in CycL is an instance of some
class, the following system was designed (using the term “Collection” instead
of “Class” in conformance with standard CycL terminology) to provide clean
definitions and to prevent occasional misuse of meta-classes during initial ontol-
ogization of a new area.
Classes are distinguished by their “order” - the number of iterations of in-
stantiations that are necessary in order to obtain individuals. The order of empty
intentionally-defined classes can be determined from their defining rule.
4.1 First-Order Class
First-Order Class is defined as the meta-class of all subclasses of Individual. Each
instance of First-Order Class is a class, each of whose instances is necessarily
an individual. This is the most common type of class, having instances such as
Person,Computer, and Ontology.Hobbit would also be an instance of First-
Order Class since, although it has no instances in the real world, in the context
of The Lord of the Rings [15] it has many instances, all of which are necessarily
individuals. The class Individual is an instance of First-Order Class since, by
definition, all of its instances are individuals.
4.2 Second-Order Class
Second-Order Class is defined as the meta-class of all subclasses of First-Order
Class. Each instance of Second-Order Class is a class, each of whose instances is
a First-Order Class. Typical Second-Order classes include Car-Brand (with in-
stances such as VolkswagenCar and HondaCar), AnimalSpecies (with instances
such as GreyWolf and Dodo), Occupation, and USArmyRank. First-Order Class
is an instance of Second-Order Class since, by definition, all of its instances are
First-Order classes.
4.3 Third-Order Class
Third-Order Class is defined as the meta-class of all subclasses of Second-Order
Class. Each instance of Third-Order Class is a class, each of whose instances
is a Second-Order Class. Instances of Third-Order Class are rare in OpenCyc.
A few typical instances are BiologicalTaxonType, having instances such as
BiologicalSpecies and BiologicalGenus, and MilitaryRankType, having in-
stances such as USArmyRank and RussianArmyRank. Second-Order Class is an
instance of Third-Order class since, by definition, all of its instances are Second-
Order classes.
4.4 Fourth- and Higher Order Classes
Fourth-Order Class is defined as the meta-class of all subclasses of Third-Order
Class. Higher order meta-classes could be similarly defined; however, the utility
of implementing such classes is questionable. The only Fourth-Order Class in
OpenCyc [10] is Third-Order Class (called ThirdOrderCollection), which is
an instance since, by definition, all of its instances are Third-Order classes.
Similarly, Fourth-Order Class would likely become the only instance of Fifth-
Order Class, and so on, ad infinitum.
4.5 Fixed-Order Class
First-Order Class, Second-Order Class, Third-Order Class, and Individual are
mutually disjoint classes, which each have the property that every one of their
instances has the same order, i.e. it takes a fixed number of iterations of instan-
tiation to reach an Individual. [For a formal definition of ontology element order,
see Section 5.]
Thus, every instance of Individual is an Individual - this could be con-
sidered zero-order. No instance of First-Order Class is an Individual, but every
instance of every instance of it must be. No instance or instance of an instance
of Second-Order Class is an Individual, but every instance of an instance of an
instance of it must be. Third- and Fourth-Order Class are similarly one and two
steps more removed.
Fixed-Order Class is defined as the meta-class of all classes with this property.
First-Order Class, Second-Order Class, Third-Order Class, and Fourth-Order
Class are not only instances of Fixed-Order Class; they are subclasses of it as
well, which means that all of their instances are transitively instances of Fixed-
Order Class. Individual is an instance, but not a subclass of Fixed-Order Class.
4.6 Variable-Order Class
Not every class is a Fixed-Order Class. Fixed-Order Class, itself, has classes of
different orders as instances. Thus, it is an instance of Variable-Order Class.
Fig. 1. Instance-Of Relations in Meta-Class Ontology
Variable-Order Class is defined at the class of all classes which (1) may have
instances of more than one order, (2) are instances of themselves, or (3) have
any instances which are variable-order classes. Every class is therefore either
fixed-order or variable order, but not both.
Variable-Order Class is an instance of both itself and Meta-Class. Class and
Meta-Class are instances of Variable-Order Class. The universal class (called
Thing in CycL and RDF) is an instance of Variable-Order Class. Variable-Order
Class is not a subclass of Meta-Class since some of its instances, e.g. Thing, have
instances that are Individuals as well as instances that are Classes.
4.7 At Least Nth-Order Class
The class Class is equivalent to “at least first-order class.” The class Meta-Class
is equivalent to “at least second-order class.” Meta-Class Type, equivalent to “at
least third-order class,” has been created in OpenCyc (as CollectionTypeType),
but is little used. At-least Nth-Order class for N higher than three has not been
found useful, no instances having been ontologized other than Third-Order Class
and Fourth-Order Class.
4.8 At Most Nth-Order Class
We found no need for a class such as “at-most second-order class”, although such
classes were considered. Such a class would have been a subclass of Fixed-Order
Class in that none of its instances would be variable order classes. It would have
been an instance of Variable Order Class.
First-Order class would be equivalent to “at-most first-order class, and thus
creation of such a class would be redundant. ”At-most third order class“ would
include all classes except Fourth-Order Class, Third-Order Class, Fixed-Order
Class, and those classes which include variable-order classes as instances, and
was not deemed useful.
4.9 Self-Including Class
Although Cyc has several classes that include themselves as instances, a meta-
class of such classes was not created. This class would be an instance and subclass
of Variable-Order Class. Classes in OpenCyc that would be instances of this class
include Thing,VariableOrderCollection,CollectionType (meta-class), and
CollectionTypeType (meta-class type).
However, since the class of all classes that are not instances of this class is
paradoxically both an instance of this class and not (see Russell’s paradox), this
class is also problematic and was not included in the ontology. 4
4.10 Self-Excluding Class
This class corresponds to the paradoxical set referred to in Russell’s Paradox
which is neither an member of itself nor not a member of itself. It was not created
as part of this ontology.
4Note that if this class existed, it would be an element of itself, the argument being reductio ad
absurdum:
Define Self-Including Class (SIC) as being the class that has as instances those, and only those,
classes which have themselves as instances.
Assume this class is not an element of itself.
Add to that class the single class necessary to generate a class that contained itself. E.g., if SIC
were {Thing,Meta-Class,VariableOrderClass, ...},SIC2 would be {SIC2,Thing,Meta-Class,
VariableOrderClass, ...}.
This new class would contain all the self-containing classes (including itself) and only self-
containing classes.
Thus, this new class would be the Self-Including Class and our original assumption (that Self-
Including Class does not contain itself) is proved wrong.
The third step in this argument would not be permitted for sets in modern Set Theory – another
reason to shun the creation of such a class, even though classes are not sets.
5 Ontology Element Order
Let Individuals be zeroth-order elements of an ontology. A class is defined as
being of the Nth order if every one of its instances is necessarily of (N-1)st
order. Any class that cannot be assigned an order under this rule is deemed a
variable-order class.
Note that empty classes may still have an order. The class Dodo is first-order
in 2005 even though there have been no instances of the class for hundreds of
years. Similarly, the class AnimalSpecies was second-order a billion years ago
even though there were no animals at the time.
6 Rules
The following rules relating to class order hold:
Any instance of a First-Order Class is an Individual.
Any instance of an Nth-Order Class (for N >1) is an N-1st Order Class.
Any instance of Nth-Order Class (for N >1) is a subclass of N-1st Order
Class.
Every Class is either a Fixed-Order Class or a Variable-Order Class.
No Fixed-Order Class has an instance of the same order as itself.
If a Variable Order Class has an Nth-Order Class as an instance, it also has
an instance that is not an Nth-Order Class (in some context, even if not in
the present context).
If N does not equal M, Nth-Order class and Mth-Order class are disjoint.
Meta-Class is disjoint with First-Order Class.
Meta-Class is disjoint with Individual.
7 Acknowledgment
This work was developed as part of the Cyc project at Cycorp of Austin, Texas.
References
1. ´
Alvarez, J. et al.: MML and the Metamodel Architecture. WTUML: Workshop on Transformation
in UML (2001).
2. Balaban, M.: The F-Logic Approach for Description Languages. Annals of Mathematics and
Artificial Intelligence 15 (1995) 19–60
3. Chalupsky, H., et al.: PowerLoom Manual. Information Sciences Institute, USC. Downloaded from
http://www.isi.edu/isd/LOOM/PowerLoom/documentation/manual/manual.pdf 15/5/2005.
4. de Bruijn, J., et al.: The Web Service Modeling Language WSML. DERI Technical Report
D16.1v0.2 (2005).
5. Erdmann, M.: OXML 2.0 Reference manual for users and developers of OntoEdit’s
XML-based Ontology Representation language, Version 0.92. (2001). Downloaded from
http://www.cs.ait.ac.th/ waralak/oxml2.0.pdf 15/5/2005.
6. Genesereth, Michael R., Fikes, R. E.: Knowledge Interchange Format Volume 3.0 Reference Man-
ual (1992).
7. Lenat, D.: Mapping Ontologies into Cyc. Ontologies and the Semantic Web, Technical Report
WS-02-11. AAAI Press. (2002) 1–6.
8. Manola, F., Miller, E.: RDF Primer. (2004) Downloaded from http://www.w3.org/TR/rdf-primer
15/5/2005.
9. McCarthy, J.: Notes on Formalizing Context. IJCAI ‘93. (1993) 555–560.
10. OpenCyc: OpenCyc website. http://www.opencyc.org, downloaded 15/5/2005.
11. Patel-Schneider, P. F., et al., eds.: OWL Web Ontology Language: Semantics and Abstract Syntax.
Downloaded from http://www.w3.org/TR/2004/REC-owl-semantics-20040210/ on 15/5/2005
(2004).
12. Pan, J. Z., Horrocks, I.: Metamodeling architecture of web ontology languages. Proceedings of
the Semantic Web Working Symposium. (2001) 131–149.
13. Russell, B.: Principia Mathematica (1910).
14. Sintek, M., Decker, S.: TRIPLE - An RDF Query, Inference, and Transformation Language.
DDLP’2001, Japan (2001).
15. Tolkein, J.R.R.: The Lord of the Rings (1954).
16. van Harmelen, F.; et al.: Reference description of the DAML+OIL (March 2001) ontology markup
language. Downloaded from http://www.daml.org/2001/03/reference 15/5/2005 (2001).
... Note that the ranking we have presented in this paper has been filtered to remove entities that are marked as instances of variable-order class (Q23958852), since these are explicitly flagged as not being stratified into a particular order. Variable-order [5] (or orderless [1]) classes have instances at different orders. Thus, being an orderless class can justify its bona fide occurrence in the (anti-)pattern, with no error incurred. ...
... Since then, to support stratified taxonomies, the platform includes at the top of its specialization hierarchy a set of classes representing different orders, namely first-order class (Q1 4 86571), second-order class (Q24 17414), third-order class (Q24 17465), fourth-order class (Q24 27474), fifth-order class (Q24 27515), and fixed order metaclass of higher order (Q24 27526). These classes are declared as equivalent to their counterparts in the OpenCyc ontology [5]. However, they are underused in the platform, and, as we show here and in [4], their mere inclusion in the platform without adequate computational aid has been insufficient to prevent the introduction of anti-patterns in new revisions. ...
... The dual facet of entities that are both types and instances is a phenomenon that is well-documented in (multi-level) conceptual modeling [3], in formal ontology [5,8], and in linguistics [10]. In particular, the phenomenon of systematic polysemy in language accounts for many cases of this problem. ...
Conference Paper
Full-text available
The distinction between types and individuals is key to most conceptual modeling techniques. Despite that, there are a number of situations in which modelers navigate this distinction inadequately, leading to problematic models. We show evidence of a large number of modeling mistakes associated with the failure to employ this distinction in the Wikidata knowledge graph, which can be identified with the incorrect use of instantiation, which is a relation between an individual and a type, and specialization (or subtyping), which is a relation between two types.
... However, this is unable to account for types whose instances do not fall into a unique order. Examples of such types include the notions of Entity [14], Thing [19,20] and Property [21], which are key to a number of comprehensive conceptualizations. In MLT*, types that do not conform to the stratified scheme are termed orderless types. ...
... Thousands of entities were found to be involved in violation of MLT level stratification rules. Since then, however, Wikidata has incorporated some support for level stratification relying on a basic scheme from OpenCyc [19] similar to the one presented in Figure 5. In light of these advances, we revisit here an assessment of the representation of multi-level domains in Wikidata 10 . ...
... Wikidata's current approach to multi-level modeling relies on OpenCyc's basic scheme [19], which is nearly equivalent to MLT*'s basic scheme of Figure 5, including both orderless and ordered entities. As a result of employing this scheme, Wikidata can represent both entities that follow a rigid stratification principle as well as those that do not, using instantiation and specialization (P279 termed subclass of) to the entities in the basic scheme to identify an entity's order. ...
Article
In many important subject domains, there are central real-world phenomena that span across multiple classification levels. In these subject domains, besides having the traditional type-level domain regularities (classes) that classify multiple concrete instances, we also have higher-order type-level regularities (metaclasses) that classify multiple instances that are themselves types. Multi-Level Modeling aims to address this technical challenge. Despite the advances in this area in the last decade, a number of requirements arising from representation needs in subject domains have not yet been addressed in current modeling approaches. In this paper, we address this issue by proposing an expressive multi-level conceptual modeling language (dubbed ML2). We follow a principled language engineering approach in the design of ML2, constructing its abstract syntax as to reflect a fully axiomatized theory for multi-level modeling (termed MLT*). We show that ML2 enables the expression of a number of multi-level modeling scenarios that cannot be currently expressed in the existing multi-level modeling languages. A textual syntax for ML2 is provided with an implementation in Xtext. We discuss how the formal theory influences the language in two aspects: (i) by providing rigorous justification for the language’s syntactic rules, which follow MLT* theorems and (ii) by forming the basis for model simulation and verification. We show that the language can reveal problems in multi-level taxonomic structures, using Wikidata fragments to demonstrate the language’s practical relevance.
... However, this is unable to account for types whose instances do not fall into a unique order. Examples of such include notions of "Entity", "Resource" and "Property", which are key to a number of comprehensive conceptualizations [12,14,21,25]. In MLT*, types that do not conform to the stratified scheme are denominated orderless types. ...
... A few knowledge representation approaches (e.g., DeepTelos [18] and Cyc [12]) have also drawn distinctions between orderless and ordered types. However, Telos does not provide rules for the various structural relations, including instantiation and specialization. ...
... In its turn, Cyc, arguably the world's largest and most mature knowledge base nowadays, employs a conceptual architecture for types similar to MLT*'s distinctions of sorts of entities (see Fig. 5). Additionally, this architecture also includes instantiation and specialization rules [12]. However, these rules are not incorporated in some representation language and no deep characterization mechanism is provided in Cyc. ...
Chapter
Subject domains are often conceptualized with entities stratified into a rigid two-level structure: a level of classes and a level of individuals which instantiate these classes. Multi-level modeling extends the conventional two-level classification scheme by admitting classes that are also instances of other classes, a feature which is key in a number of subject domains. Despite the advances in multi-level modeling in the last decade, a number of requirements arising from representation needs in subject domains have not yet been addressed in current modeling approaches. In this paper, we tackle this issue by proposing an expressive multi-level conceptual modeling language (dubbed ML2). We follow a principled approach in the design of ML2, constructing its abstract syntax as to reflect a formal theory for multi-level modeling (termed MLT*). We show that ML2 enables the expression of a number of multi-level modeling scenarios that cannot be currently expressed in the existing multi-level modeling languages. A textual syntax for ML2 is provided with an implementation in Xtext.
... This rules out abstract and general types such as "Entity" and "Type" (which are instances of themselves). We have observed that these types correspond to general notions that are ubiquitous in comprehensive conceptualizations (see e.g., the core of the Semantic Web with the notion of "Resource" or "Thing" ([31, 32]), (Foundation) Ontologies such as UFO ( [16]), Cyc ( [13]), DOLCE and BFO ( [25]) with their notions of "Entity" or "Thing", Telos ( [28]) with the notions of "Property"). Failure to account for such types restricts the generality of the theory, which motivates us to extend it. ...
... This is because their instances may be related in chains of instantiation, conflicting with the stratification imposed by the principle. Given that these general notions are ubiquitous in comprehensive conceptualizations (see e.g., the core of the Semantic Web with the notion of "Resource" or "Thing" ([31, 32]), (Foundation) Ontologies such as UFO ( [16]), Cyc ( [13]), DOLCE and BFO ( [25]) with their notions of "Entity" or "Thing", Telos ( [28]) with the notions of "Property"), we conclude that a comprehensive multi-level modeling theory should admit types that defy a strictly stratified classification scheme (R4) (with the general notion of "type" or "class" and the universal notion of "entity" or "thing" as paradigmatic special cases). ...
... The combination of both approaches in our theory places it in a unique position in multi-level modeling approaches. A few other knowledge representation approaches (such as Telos [20] and Cyc [13]) have, like MLT*, drawn distinctions between orderless and ordered types. Differently from MLT*, however, Telos does not provide rules for the various structural relations, including instantiation and specialization. ...
Conference Paper
Multi-level modeling extends the conventional two-level classification scheme to deal with subject domains in which classes are also considered instances of other classes. In the past, we have explored theoretical foundations for multi-level conceptual modeling and proposed an axiomatic theory for multi-level modeling dubbed MLT. MLT provides concepts for multi-level modeling along with a number of rules to guide the construction of sound multi-level conceptual models. Despite the benefits of MLT, it is still unable to deal with a number of general notions underlying conceptual models (including the notions used in its own definition). In this paper, we present an extension of MLT to deal with these limitations. The resulting theory (called MLT*) is novel in that it combines a strictly stratified theory of levels with the flexibility required to model abstract notions that defy stratification into levels such as a universal “Type” or, even more abstract notions such as “Entity” and “Thing”.
... The more complex but comprehensive approach would be to introduce a higher-order type system which allows nesting of layers of types. Higher-order type systems are excessively complex for this relatively simple application and cannot be expected to be understood by most users [49]. Another approach is to use a simple type system. ...
... Higher-order type systems are technically complicated and add little to this application domain. Although up to fourth order types have been applied in the CyC project (a project to build an ontology of knowledge in an encyclopedia) [49]. By treating class as a simple proposition, and instances as terms, these problems disappear at little cost. ...
Thesis
This work addresses a gap in the foundations of computer science. In particular, only a limited number of models address design decisions in modern Web architectures. The development of the modern Web architecture tends to be guided by the intuition of engineers. The intuition of an engineer is probably more powerful than any model; however, models are important tools to aid principled design decisions. No model is sufficiently strong to provide absolute certainty of correctness; however, an architecture accompanied by a model is stronger than an architecture accompanied solely by intuition lead by the personal, hence subjective, subliminal ego. The Web of Data describes an architecture characterised by key W3C standards. Key standards include a semi-structured data format, entailment mechanism and query language. Recently, prominent figures have drawn attention to the necessity of update languages for the Web of Data, coining the notion of Read–Write Linked Data. A dynamicWeb of Data with updates is a more realistic reflection of the Web. An established and versatile approach to modelling dynamic languages is to define an operational semantics. This work provides such an operational semantics for a Read–Write Linked Data architecture. Furthermore, the model is sufficiently general to capture the established standards, including queries and entailments. Each feature is relative easily modelled in isolation; however a model which checks that the key standards socialise is a greater challenge to which operational semantics are suited. The model validates most features of the standards while raising some serious questions. Further to evaluating W3C standards, the operational mantics provides a foundation for static analysis. One approach is to derive an algebra for the model. The algebra is proven to be sound with respect to the operational semantics. Soundness ensures that the algebraic rules preserve operational behaviour. If the algebra establishes that two updates are equivalent, then they have the same operational capabilities. This is useful for optimisation, since the real cost of executing the updates may differ, despite their equivalent expressive powers. A notion of operational refinement is discussed, which allows a non-deterministic update to be refined to a more deterministic update. Another approach to the static analysis of Read–Write Linked Data is through a type system. The simplest type system for this application simply checks that well understood terms which appear in the semi-structured data, such as numbers and strings of characters, are used correctly. Static analysis then verifies that basic runtime errors in a well typed program do not occur. Type systems for URIs are also investigated, inspired by W3C standards. Type systems for URIs are controversial, since URIs have no internal structure thus have no obvious non-trivial types. Thus a flexible type system which accommodates several approaches to typing URIs is proposed.
... Because of the ontological choices of BORO, power classes are not subject to change, which is a key difference to our approach. Types of types are also incorporated into the Cyc ontology [13], including some support for order stratification similar to MLT's which we have incorporated in OntoUML. However, differently from the work reported here, Cyc does not address the various modal aspects of types. ...
Chapter
Full-text available
The Unified Foundational Ontology (UFO) has been used to provide foundations for the major conceptual modeling constructs. So far, UFO has reflected a view in which domain entities are fundamentally divided into those that collect invariants of the domain (i.e., types) and those entities that manifest those invariants (i.e., instances), following the conventional two-level classification scheme. This paper extends UFO with support for multi-level classification schemes, in which some entities accumulate both type-like and instance-like characteristics. This requires an ontological interpretation and a formal theory of types of types. This theory is employed to engineer new constructs and constraints into the OntoUML language, and to develop computational support for the formal verification of constraint violation over multi-level conceptual models.KeywordsOntology-driven conceptual modelingMulti-level modelingHigh-order typesUFOOntoUML
... The root of the problem discussed in the previous section is that two-level languages fail to recognize classes as instances of other (meta)classes [3,14]. This has motivated some of us in the past to propose a Multi-Level Modeling Language (ML2) [13], following work on theoretical foundations for Multi-Level Modeling (MLT [8,10] and MLT* [1]). ...
Chapter
Conceptual models are often built with techniques that propose a strict stratification of entities into two classification levels: a level of types (or classes) and a level of instances. Multi-level conceptual modeling extends the conventional two-level scheme by admitting that types can be instances of other types, giving rise to multiple levels of classification. Nevertheless, the vast majority of tools and techniques are still confined to the two-level scheme, and hence cannot be used for multi-level models directly. We show here how a multi-level model in ML2 can be transformed into a two-level specification in the formal modeling technique Alloy, thereby leveraging the Alloy analyzer to multi-level models.
... The root of the problem discussed in the previous section is that two-level languages fail to recognize classes as instances of other (meta)classes [3,14]. This has motivated some of us in the past to propose a Multi-Level Modeling Language (ML2) [13], following work on theoretical foundations for Multi-Level Modeling (MLT [8,10] and MLT* [1]). ...
Conference Paper
Full-text available
Conceptual models are often built with techniques that propose a strict stratification of entities into two classification levels: a level of types (or classes) and a level of instances. Multi-level conceptual modeling extends the conventional two-level scheme by admitting that types can be instances of other types, giving rise to multiple levels of classification. Nevertheless, the vast majority of tools and techniques are still confined to the two-level scheme, and hence cannot be used for multi-level models directly. We show here how a multi-level model in ML2 can be transformed into a two-level specification in the formal modeling technique Alloy, thereby leveraging the Alloy analyzer to multi-level models.
... This was necessary as this scheme rules out abstract and general types such as ENTITY and TYPE (which are instances of themselves). We have observed that these types correspond to general notions that are ubiquitous in comprehensive conceptualizations, see e.g., (foundation) ontologies such as UFO [Guizzardi 2015], Cyc [Foxvog 2005], DOLCE and BFO with their notions of ENTITY or THING, Telos [Mylopoulos 1992] with the notion of "Property" and the Semantic Web with its rdfs:Resource and owl:Thing elements. The extended theory-which we call MLT*-generalizes the two-level scheme and the strictly stratified scheme . ...
Conference Paper
Full-text available
Conceptual models are often built with techniques which propose a strict stratification of entities into two classification levels: a level of types (or classes) and a level of instances. Despite that, there are several situations in which domains of inquiry transcend the conventional two-level stratification and domain experts use types of types (or categories of categories) to articulate their conceptualizations. In these settings, types are instances of other types and multiple levels of classification can be identified (individuals, classes, metaclasses, metametaclasses, and so on), characterizing what is now called "multi-level modeling". Over the last years, we have worked out a foundational theory for multi-level modeling (dubbed MLT), whose aim is to clarify the basic elements of multi-level conceptual modeling. This paper describes the development of this theory, and reports on some of its applications, namely: the detection of (thousands of) occurrences of anti-patterns in the Wikidata knowledge base and the revision of the powertype pattern in UML.
Chapter
The distinction between types and individuals is key to most conceptual modeling techniques. Despite that, there are a number of situations in which modelers navigate this distinction inadequately, leading to problematic models. We show evidence of a large number of modeling mistakes associated with the failure to employ this distinction in the Wikidata knowledge graph, which can be identified with the incorrect use of instantiation, which is a relation between an individual and a type, and specialization (or subtyping), which is a relation between two types.
Article
Full-text available
The Meta-Modelling Language is a static object-oriented modelling language whose focus is the declarative definition of languages. It aims to enable the UML metamodel to be precisely defined, and to enable UML to evolve into a family of languages. This paper argues that although MML takes a metamodelling approach to language definition, it cannot be described as strict metamodelling. This has significant implications on the nature of the metamodel architecture it supports, yet without contravening the OMG’s requirements for the UML 2.0 infrastructure. In particular it supports a rich generic nested architecture as opposed to the linear architecture that strict metamodelling imposes. In this nested architecture, the transformation between the representation of any model at one metalevel and its representation in the metalevel below can be described by an information preserving one-toone mapping. This mapping provides the basis for a powerful area of functionality that any potential metamodelling tool should look to exploit.
Article
Full-text available
The Frame-logic (F-logic) approach of [20] is suggested as an underlying framework for description languages. F-logic is shown to provide a full account for description languages without losing the direct semantics and the descriptive nature. It can support such desirable features as high-order role fillers, collective entities, intensions, roles as first-class objects, andn-ary relationships. Yet, its semantics is first order. In an F-logic based description language, few description constructs are built in, and concepts, roles,and terminological operators are definable. The discussion of desirable features in descriptions is made possible within a single, uniform framework that also coherently integrates with logic programming and deductive, object-oriented database technology. Typical descriptive operators can be defined in the language, thereby yielding a flexible description language in which not all operators must be built in.
Article
Full-text available
The advent of Web services, and the Semantic Web described by domain ontologies, highlight the bottleneck to their growth: ontology mapping, merging, and integration.
Article
Full-text available
Knowledge Interchange Format (KIF) is a computer-oriented language for the interchange of knowledge among disparate programs. It has declarative semantics (i.e. the meaning of expressions in the representation can be understood without appeal to an interpreter for manipulating those expressions); it is logically comprehensive (i.e. it provides for the expression of arbitrary sentences in the first-order predicate calculus); it provides for the representation of knowledge about the representation of knowledge; it provides for the representation of nonmonotonic reasoning rules; and it provides for the definition of objects, functions, and relations.
Article
Abstract These notes discuss formalizing contexts as rst,class objects. The basic relation is ist(c; p). It asserts that the proposition p is true in the context c. The most important formulas relate the propositions true in dieren t contexts. Introducing contexts as formal objects will permit axiomatizations in limited contexts to be expanded to transcend the original limitations. This seems necessary to provide AI programs using logic with certain capabilities that human,fact representation and human,reasoning possess. Fully implementing transcendence seems to require further extensions to mathematical logic, i.e. beyond the nonmonotonic inference methods rst,invented in AI and now studied as a new domain,of logic. Various notations are considered, but these notes are tentative in not proposing a single language with all the desired capabilities.