To analyse, discuss and solve problems, everybody uses language. And so will you, when solving your specific problem. This is called a domain language, because it is specific for a problem (or class of problems) you are trying to solve.
In Ampersand, you make that language explicit by defining relations between concepts. This language consists of relations and concepts. These are used to express facts.
Relations & Concepts
A fact is a statement that is true. This video clip illustrates the idea.
Let us consider a fact "Joe Smith lives in New York." from an Ampersand perspective. In Ampersand, we can analyse this as follows:
Joe Smithis an atom of the concept
New Yorkis an atom of the concept
- Let us use the relation
livesIn[Person*City]to contain our fact.
livesInis the relation name and
[Person*City]is the signature of this relation.
- If the pair
(Joe Smith,New York)is an element of this relation, Ampersand considers the statement Joe Smith livesIn New York to be true. So all pairs in a relation represent facts.
Properties of relations
In many cases, there can be restrictions on the population of a relation, called properties.
The following properties can be specified on any relation
There are additional relations that can be specified on endo relations. An endo relation is a relation where the source and target concepts are equal.
|SYM||symmetric||For each (
|PROP||-||shortcut for the combination of symmetric and antisymmetric.|