Everything about Is-a
Subsumption relationship between abstractions
In knowledge representation, ontology components and ontology engineering, including for object-oriented programming and design, is-a is a subsumptive relationship between abstractions, wherein one class A is a subclass of another class B . In other words, type A is a subtype of type B when A's specification implies B's specification. That is, any object that satisfies A's specification also satisfies B's specification, because B's specification is weaker. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Is-aA 5-minute orientation
- Pick up a classic book: Silas MarnerThe most-reprinted book on the subject
- Go sideways: Has-aA closely related topic
- Go sideways: SubtypingA closely related topic
📖 Definitions
Noun The relationship between two entities in which one entity inherits from the other.
Noun Such a relationship expressed as an ontology component (regardless of whether the OOP paradigm per se is implemented).
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
Silas MarnerGeorge Eliot, John O'Connor · 1800
Prelude to SpaceArthur C. Clarke · 1953
A Star is bornRonald Haver · 1988
WhiteoutDhonielle Clayton, Tiffany D. Jackson · 2022
Wrightsville MurdersEllery Queen · 1948
DeanoDean Windass · 2007
Seva sadanMunshi Premchand · 2000
Three Little Kittens LG-1978Masha · 1942
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Has-a In database design, object-oriented programming and design, has-a (has_a or has a) is a composition relationship where one object (often called the constituted…
- Subtyping In programming language theory, subtyping (also called subtype polymorphism or inclusion polymorphism) is a form of type polymorphism. A subtype is a datatype…
- Liskov substitution principle The Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called strong behavioral subtyping, that was initially introduced…
- Ontology components Contemporary ontologies share many structural similarities, regardless of the ontology language in which they are expressed. Most ontologies describe individual…
- Class (knowledge representation) In knowledge representation, a class is a collection of individuals or individuals objects. A class can be defined either by extension (specifying members)…
- Inheritance (object-oriented programming) In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-base…
- Hypernymy and hyponymy Hypernymy and hyponymy are the semantic relations between a generic term (hypernym) and a more specific term (hyponym). The hypernym is also called a supertype…
- Behavioral subtyping In object-oriented programming, behavioral subtyping is the principle that subclasses should satisfy the expectations of clients accessing subclass objects…