Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
hanjoosten committed Aug 12, 2023
1 parent c27ce24 commit 0b13fa6
Show file tree
Hide file tree
Showing 7 changed files with 231 additions and 237 deletions.
4 changes: 2 additions & 2 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ We are currently refactoring our documentation. The navigation at the left is wo
- [Residuals visualized](./reference-material/the-language-ampersand/terms#residual-operators-visualized)
- [Context](./reference-material/the-language-ampersand/context)
- [Syntactical Conventions](./reference-material/the-language-ampersand/how-to-read-syntax-statements)
- [Language support](./reference-material/syntax-of-ampersand#language-support)
- [Patterns](./reference-material/syntax-of-ampersand#patterns)
- [Language support](./reference-material/syntax#language-support)
- [Patterns](./reference-material/syntax#patterns)
- [Language support](./reference-material/the-language-ampersand/language-support)
- [Current date](./reference-material/the-language-ampersand/current-date)
- [The Preprocessor](./reference-material/the-language-ampersand/the-preprocessor)
Expand Down
38 changes: 19 additions & 19 deletions docs/reference-material/the-language-ampersand/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,25 @@ description: >-

This page is a dictionary. It defines the words we use to talk about Ampersand. You can click on the words to navigate to its defining page.

| Word | Meaning | Example | Purpose |
| ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------ |
| [Atom](atoms.md) | an indivisible item. Watch [this clip](https://player.ou.nl/wowzaportlets/#!production/Cq0M1nv) to learn how we use the words atom, concept, and relation. | `"Peter"` | to represent a thing |
| [Concept](../syntax-of-ampersand#the-concept-statement) | a name to categorize similar items | `Person` | |
| Pair | two atoms: a source and a target atom | `("Ida",5)` | to state that two atoms are related |
| [Relation](../syntax-of-ampersand#RELATION-statement) | a set of pairs that is identifyable in a context by its name and type | `r[A*B]` | to build true statements and store pairs persistently in an application |
| [Rule](../syntax-of-ampersand#RULE-statement) | a constraint, which is supposed to remain satisfied. | `r;s \|- t` | to provide meaning in a given context |
| satisfy | A rule is satisfied (in a context) if the data (in that context) do not cause any violation of that rule. | | to calculate violations at runtime helps users do the right things |
| [Pattern](../syntax-of-ampersand#PATTERN-statement) | a set of rules | <p><code>PATTERN</code></p><p> <code>...</code></p><p><code>ENDPATTERN</code></p> | to gather rules that belong together for reusing them in different contexts |
| [Population](../syntax-of-ampersand#POPULATION-statement) | a set of pairs in a context | `POPULATION r[A*B] CONTAINS [ ("Ida",5), ("Bob",1) ]` | to represent the facts (i.e. true statements) in an information system |
| [Context](context.md) | a population together with a set of rules that are satisfied by the population. | <p><code>CONTEXT</code></p><p> <code>...</code></p><p><code>ENDCONTEXT</code></p> | to maintain a consistent representation of a real life situation |
| View | A set of pairs that can be shown to users in a particular formulation. | | to represent facts |
| [Service](../the-language-ampersand.md#services) | A structure meant for "the outside world" to communicate with the system and possibly change the population. | `INTERFACE Request FOR Customer` | to let "the outside world" communicate with the system in a given context and possibly change its population |
| Multiplicity | A predefined property of a relation | `UNI`, `TOT`, `SUR`, `INJ` | to constrain a relation with predefined properties |
| [Term](terms.md) | A combination of relations and operators that satisfy the Ampersand syntax | `r;s-t` | to express rules |
| Operator | a symbol used in combining terms into other terms. | `-`, `~`, `\/`, `/\`, `-`, `;`, `\`, `/`, ` | -`, `=` | to express more complex rules. |
| | | | |
| [Specialization](../syntax-of-ampersand#CLASSIFY-statement) | A rule that defines specialization between two (or more) concepts. | `CLASSIFY A ISA B` | To specify a building block for a classification hierarchy. |
| Role | A name for a group of people | `ROLE Customer MAINTAINS paymentObligation` | to talk about users without having any users |
| Word | Meaning | Example | Purpose |
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------ |
| [Atom](atoms.md) | an indivisible item. Watch [this clip](https://player.ou.nl/wowzaportlets/#!production/Cq0M1nv) to learn how we use the words atom, concept, and relation. | `"Peter"` | to represent a thing |
| [Concept](../syntax#the-concept-statement) | a name to categorize similar items | `Person` | |
| Pair | two atoms: a source and a target atom | `("Ida",5)` | to state that two atoms are related |
| [Relation](../syntax#RELATION-statement) | a set of pairs that is identifyable in a context by its name and type | `r[A*B]` | to build true statements and store pairs persistently in an application |
| [Rule](../syntax#RULE-statement) | a constraint, which is supposed to remain satisfied. | `r;s \|- t` | to provide meaning in a given context |
| satisfy | A rule is satisfied (in a context) if the data (in that context) do not cause any violation of that rule. | | to calculate violations at runtime helps users do the right things |
| [Pattern](../syntax#PATTERN-statement) | a set of rules | <p><code>PATTERN</code></p><p> <code>...</code></p><p><code>ENDPATTERN</code></p> | to gather rules that belong together for reusing them in different contexts |
| [Population](../syntax#POPULATION-statement) | a set of pairs in a context | `POPULATION r[A*B] CONTAINS [ ("Ida",5), ("Bob",1) ]` | to represent the facts (i.e. true statements) in an information system |
| [Context](context.md) | a population together with a set of rules that are satisfied by the population. | <p><code>CONTEXT</code></p><p> <code>...</code></p><p><code>ENDCONTEXT</code></p> | to maintain a consistent representation of a real life situation |
| View | A set of pairs that can be shown to users in a particular formulation. | | to represent facts |
| [Service](../the-language-ampersand.md#services) | A structure meant for "the outside world" to communicate with the system and possibly change the population. | `INTERFACE Request FOR Customer` | to let "the outside world" communicate with the system in a given context and possibly change its population |
| Multiplicity | A predefined property of a relation | `UNI`, `TOT`, `SUR`, `INJ` | to constrain a relation with predefined properties |
| [Term](terms.md) | A combination of relations and operators that satisfy the Ampersand syntax | `r;s-t` | to express rules |
| Operator | a symbol used in combining terms into other terms. | `-`, `~`, `\/`, `/\`, `-`, `;`, `\`, `/`, ` | -`, `=` | to express more complex rules. |
| | | | |
| [Specialization](../syntax#CLASSIFY-statement) | A rule that defines specialization between two (or more) concepts. | `CLASSIFY A ISA B` | To specify a building block for a classification hierarchy. |
| Role | A name for a group of people | `ROLE Customer MAINTAINS paymentObligation` | to talk about users without having any users |

Syntactic definitions are given where the underlying notions (e.g. rule, relation, pattern, etc.) are discussed. The metasyntax is singled out [on a separate page](how-to-read-syntax-statements.md). Because [terms](terms.md) are defined in relation algebra, their semantics are explained in various ways to suit the background of each individual reader. Terms are the only algebraically defined things.

Expand Down
Loading

0 comments on commit 0b13fa6

Please sign in to comment.