# The FOLE Table

This paper continues the discussion of the representation of ontologies in the first-order logical environment FOLE. According to Gruber, an ontology defines the primitives with which to model the knowledge resources for a community of discourse. These primitives, consisting of classes, relationships and properties, are represented by the entity-relationship-attribute ERA data model of Chen. An ontology uses formal axioms to constrain the interpretation of these primitives. In short, an ontology specifies a logical theory. A series of three papers by the author provide a rigorous mathematical representation for the ERA data model in particular, and ontologies in general, within FOLE. The first two papers, which provide a foundation and superstructure for FOLE, represent the formalism and semantics of (many-sorted) first-order logic in a classification form corresponding to ideas discussed in the Information Flow Framework (IFF). The third paper will define an interpretation of FOLE in terms of the transformational passage, first described in (Kent, 2013), from the classification form of first-order logic to an equivalent interpretation form, thereby defining the formalism and semantics of first-order logical/relational database systems. Two papers will provide a precise mathematical basis for FOLE interpretation: the current paper develops the notion of a FOLE relational table following the relational model of Codd, and a follow-up paper will develop the notion of a FOLE relational database. Both of these papers expand on material found in the paper (Kent, 2011). Although the classification form follows the entity-relationship-attribute data model of Chen, the interpretation form follows the relational data model of Codd. In general, the FOLE representation uses a conceptual structures approach, that is completely compatible with formal concept analysis and information flow.

## Authors

• 26 publications
• ### The ERA of FOLE: Foundation

This paper discusses the representation of ontologies in the first-order...
12/23/2015 ∙ by Robert E. Kent, et al. ∙ 0

• ### Conceptual Knowledge Markup Language: An Introduction

Conceptual Knowledge Markup Language (CKML) is an application of XML. Ea...
10/10/2018 ∙ by Robert E. Kent, et al. ∙ 0

• ### Knowledge Representation in Bicategories of Relations

We introduce the relational ontology log, or relational olog, a knowledg...
06/02/2017 ∙ by Evan Patterson, et al. ∙ 0

• ### A Unified Metamodel for NoSQL and Relational Databases

The Database field is undergoing significant changes. Although relationa...
05/13/2021 ∙ by Carlos J. Fernández Candel, et al. ∙ 0

• ### ER model Partitioning: Towards Trustworthy Automated Systems Development

In database development, a conceptual model is created, in the form of a...
07/02/2020 ∙ by Dhammika Pieris, et al. ∙ 0

• ### kLog: A Language for Logical and Relational Learning with Kernels

We introduce kLog, a novel approach to statistical relational learning. ...
05/17/2012 ∙ by Paolo Frasconi, et al. ∙ 0

• ### DataJoint: A Simpler Relational Data Model

The relational data model offers unrivaled rigor and precision in defini...
07/29/2018 ∙ by Dimitri Yatsenko, et al. ∙ 0

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

The relational model is an approach to information management using the semantics and formalism of first-order predicate logic. 111“The relational model for database management : version 2” by E.F. Codd [3]. The first-order logical environment FOLE is a framework for defining the semantics and formalism of logic and databases in an integrated and coherent fashion. Hence, the relational model for information management can be framed in terms of the first-order logical environment FOLE.

Three papers are concerned with the presentation of FOLE: “The ERA of FOLE: Foundation” [12], which is concerned with showing how the ERA data model is represented in FOLE; “The ERA of FOLE: Superstructure” [13], which is concerned with the classification form of FOLE; and “The ERA of FOLE: Interpretation” which is concerned with the interpretation form of FOLE. 222As indicated in Sec. 4.4 of the FOLE foundation paper [12], there are at least two adjointly related approaches for the interpretation of (1) many-sorted first-order logic in general and (2) FOLE structures in particular: the traditional approach, which defines interpretations in terms of relations; and the database approach, which defines interpretations in terms of tables. The relation-table adjunction is discussed in § 0.A.1. Two papers will provide a rigorous mathematical basis for FOLE interpretation and define an architectural semantics for the relational data model: 333Older architectures of data include the hierarchical model and the network model. Of these, nothing will be said. A newer architecture of data, called the object-relational model, is a presentation form for the relational data model described here. “The FOLE Table” [this paper] and “The FOLE Database”. The latter develops the notion of a FOLE relational database as a diagram of FOLE tables. Both of these papers expand upon material found within the paper “Database Semantics” [10].

The current paper is concerned with the FOLE table concept. A table in the relational model is represented as an array, organized into rows and columns. The rows are called the tuples (records) of the table, whereas the columns are called the attributes of the table. The rows are indexed by keys. Both rows and columns are unordered; instead of indexing headers and tuples as -tuples, the FOLE approach uses attribute names for tuples (as advocated by Codd [3]). In the relational model, all components can be resolved into sets and functions. 444The relational data model is based upon the context of sets and functions.

 5(162.5,150)(162.5,0) 5(167.5,150)(167.5,0) 5(172.5,150)(172.5,0) 5(177.5,150)(177.5,0) 5(182.5,150)(182.5,0) 5(187.5,150)(187.5,0) 5(192.5,150)(192.5,0) 5(197.5,150)(197.5,0) 5(202.5,150)(202.5,0) 5(207.5,150)(207.5,0) 5(212.5,150)(212.5,0) 5(217.5,150)(217.5,0) 5(222.5,150)(222.5,0) 5(227.5,150)(227.5,0) 5(232.5,150)(232.5,0) 5(237.5,150)(237.5,0) 5(80,95)(400,95) 5(80,90)(400,90) 5(80,85)(400,85) 5(80,80)(400,80) 5(80,75)(400,75) 5(80,70)(400,70) 5(80,65)(400,65) 5(80,60)(400,60) 5(80,55)(400,55) attributekey{↦}tuple

Section 2 provides material on the basic structures underpinning the FOLE table concept: signatures, type domains and signed domains. Section 3 describes our representation for the table concept by defining the multi-path fibered context of tables 555The original discussion of FOLE (Kent [11]) took place within the knowledge representation community, where the term category is defined to be a division within a system of classification or a mode of existence. Hence following (Kent [11]), we use “mathematical context” (Goguen [5]) for the mathematical term “category”, “passage” for the term “functor”, and “bridge” for the term “natural transformation”. (illustrated in Tbl. 17 of § 3.5)

 signature S type domain A signed domain ⟨S,A⟩
 \mathrmbfTbl\mathrmbfTbl(S)\mathrmbfTbl(A)\mathrmbfTbl(S,A)[⋅]4(52,8)(8,52)[⋅]4(68,8)(112,52)Tbl. 17 (simplified)

— one fibered path goes directly via signed domains (§ 3.2), while two other paths go indirectly via signatures (§ 3.3) and type domains (§ 3.4). Section 4 uses properties of comma contexts and the Grothendieck construction to prove that the various (sub)contexts of FOLE tables are complete (joins exist) and cocomplete (unions exist). Table 1 lists the figures and tables in this paper.

## 2 Table Basics

### 2.1 Signatures

A signature, which represents the header of a relational table, provides typing for the tuples permitted in the table. 777The use of lists for signatures (and tuples) follows Codd’s recommendation to use attribute names to index the tuples of a relation instead of a numerical ordering.

##### Fibers.

Let be a sort set. The fiber mathematical context of -signatures is the comma context

 \mathrmbfList(X)=\mathrmbfList(X)=(\mathrmbfSet↓X)

associated with the sort set (constant passage) . It has the index and trivial projection passages and the defining bridge . An -object , called an -signature (header), consists of an indexing set (arity) and a map from to the set of sorts . An -morphism is an arity function that preserves signatures by satisfying the naturality condition .

##### Fibered Context.

The fibered context of signatures is the comma context

 \mathrmbfList=(\mathrmbfSet↓\mathrmbfSet).

It has index and set projection passages and the defining bridge . A -object (signature, sort list) consists of a sort set and an -signature . A -morphism (signature morphism) consists of a sort function and an arity function satisfying the naturality condition .

This condition gives two alternate and adjoint definitions. In terms of fibers, a signature morphism consists of a sort function and either a morphism in the fiber context or a morphism in the fiber context .

 (1)

The -signature morphism is the composition (Fig. 2) of the fiber morphism with the counit component for the fiber adjunction . This fiber adjunction (top part of Tbl. 2) is a component of the sort indexed adjunction of signatures .

###### Theorem 2.1

The fibered context of signatures is the Grothendieck construction of the sort indexed adjunction of signatures . 888A fibration (fibered context over ) (nLab [22]) is a passage such that the fibers depend (contravariantly) pseudofunctorially on . Dually, in an opfibration the dependence is covariant. There is an equivalence of 2-contexts

between the 2-context of fibrations over and the 2-context of contravariant pseudo-passages from to , also called -indexed contexts. The construction of a fibered context from an indexed context is called the Grothendieck construction. We say that fibered context is the oplax sum of indexed context . § 0.A.3 has a more detailed discussion of fibered contexts.

### 2.2 Type Domains

A type domain, which constrains the body of a relational table, is an indexed collection of data types from which a table’s tuples are chosen.

##### Fiber.

Let be a sort set. The fiber mathematical context of -sorted type domains 999In the ERA data model (Kent [12]), attributes are represented by a typed domain consisting of a collection of data types. In FOLE, a typed domain is represented by an attribute classification consisting of a set of attribute types (sorts) , a set of attribute instances (data values) and an attribute classification relation . For each sort (attribute type) , the data domain of that type is the -extent . The passage maps a sort to its data domain (-extent) . The attribute list classification has -signatures as types and -tuples as instances, with classification by common arity and universal -classification: a -tuple

is classified by an

-signature when and for all . is the context described as follows. An -sorted type domain consists of a data value set and a classification relation ; hence, a data-type collection , with each sort indexing the data-type . An -sorted type domain morphism is an infomorphism satisfying iff for each sort and data value ; hence, consisting of a data value function satisfying for each sort and each value ; thus, defining the restrictions . 101010More generally, let be any infomorphism. The condition is equivalent to the abstraction . Hence, there is a function that is a restriction of the instance function .

##### Fibered Context.

The fibered context of type domains is described as follows. A type domain is a classification; and hence consists of a sort set and an -sorted type domain . A type domain morphism is an infomophism consisting of a sort function and a data value function that satisfy the infomorphism condition iff for any source sort and target data value . This condition gives an alternate definition. In terms of fibers, a type domain morphism consists of a sort function and a morphism in the fiber context .

 X2X1Y2Y1⊨A2⊨A1⊨f−1(A1)fg

For any sort function , there is a type domain fiber passage 111111For any sort function , there is an inverse image fiber passage , where iff for any source sort and target data value ; or in terms of data types, .
. This fiber passage is a component of the sort indexed context of type domains .

###### Theorem 2.2

The fibered context of type domains (a fibration) is the Grothendieck construction of the sort indexed context of type domains .

### 2.3 Signed Domains

A signed domain represents both the header and the body of a relational table.

##### Signed Domains.

Signed domains are a fundamental component used in the definition of database tables and in the database interpretation of FOLE. Signed domains are used to denote the valid tuples for a database header (signature).

A signed (headed/typed) domain consists of a type domain with sort set and a signature (database header) . 121212Signed domains were called semidesignations in “Database Semantics” [10]. Indeed, a signed domain is a list designation from the trivial entity classification with element signature map and empty tuple map . A signed domain morphism consists of a signature morphism and a type domain morphism with a common sort function . Hence, the mathematical context of signed domains is the comma context

 \mathrmbfSet\mathrmbfitarity←−−−−−−−−−−\mathrmbfDom=(\mathrmbfSet↓\mathrmbfitsort)\mathrmbfitdata−−−−−−−−−−→\mathrmbfCls

associated with the sort passage . There is a sign mediating passage .

From a different point-of-view, a signed domain consists of a signature and a type domain with common sort set , and a signed domain morphism consists of a signature morphism and a type domain morphism with common sort function . Hence, can also be defined as the fibered product

 \mathrmbfList\mathrmbfitsign←−−−−−−−−−−\mathrmbfDom=\mathrmbfList×\mathrmbfSet\mathrmbfCls\mathrmbfitdata−−−−−−−−−−→\mathrmbfCls,

for the opspan of passages .

 \mathrmbfSet\mathrmbfDom=(\mathrmbfSet↓\mathrmbfitsort)\mathrmbfCls\mathrmbfSet\mathrmbfList=(\mathrmbfSet↓\mathrmbfSet)\mathrmbfSet\mathrmbfitarity\mathrmbfitdata\mathrmbfitarity\mathrmbfitsort\mathrmbfit1\mathrmbfitsign\mathrmbfitsort
###### Definition 1

There is a tuple passage .

###### Proof

The tuple passage maps a signed domain to its set of tuples , 131313This important concept can intuitively be regarded as the set of legal tuples under the database header . It is define to be the extent in the list type domain : . Various notations are used for this concept depending upon circumstance: . and maps a signed domain morphism to its tuple function ;
or visually, .

### 2.4 Inclusion/Tuple Bridges

#### 2.4.1 Signatures.

Let be a signature. There is an inclusion passage that maps an -sorted type domain to the signed domain and maps an -sorted type domain morphism to the signed domain morphism . Composition of the inclusion passage with the signed domain tuple passage (Def. 1) gives a signature tuple passage

 \mathrmbfCls(X)op\mathrmbfittupS−−−−−−−−−−−−−−−−−−−−−→\mathrmbfitincopS∘\mathrmbfittup\mathrmbfSet.

which maps an -sorted type domain to the tuple set and maps an -sorted type domain morphism (infomorphism) to the tuple function associated with : ; or visually,
. 141414The tuple passage maps an -sorted type domain to the tuple set and maps an -sorted type domain morphism to the tuple function
,
a restriction of the tuple function .

Let be a signature morphism. There is an inclusion bridge (illustrated below right).

 I2I1X2X1YYs2s1⊨A2⊨A1hf=⎧⎪⎨⎪⎩f−1(A1)
 \mathrmbfCls(X2)\mathrmbfCls(X1)\mathrmbfDomf−1\mathrmbfitincS2\mathrmbfitincS1

For any target type domain , the signed domain morphism

is illustrated above left. This is natural in type domain. Hence, there is an inclusion passage . Composition of the inclusion bridge with the signed domain tuple passage (Def. 1) gives a signature tuple bridge (Fig. 3)

 f−1op∘\mathrmbfittupS2\mathrmbfitincopS2∘\mathrmbfittup\xLeftarrow[ιop⟨h,f⟩∘\mathrmbfittup]τ⟨h,f⟩\mathrmbfittupS1\mathrmbfitincopS1∘\mathrmbfittup≐(f−1∘\mathrmbfitincS2\xRightarrowι⟨h,f⟩\mathrmbfitincS1)op∘\mathrmbfittup. (2)

For any target type domain , the -component of the signature tuple bridge is the tuple function . This is natural in signature. Hence, there is a tuple passage .