John, William, (01)
First, I find it amusing that John takes this stance on the Ontolog Forum,
while on the Common Logic revision exploder, he is the apostle for a segregated
dialect of CL, i.e., a logic in which 'relations' are not 'entities'
(individual things in the universe of discourse). (02)
More to the point, this is a bit of a diversion from what William said: (03)
> My discussion with [Halpin] reminded me of the fundamental tenet in all of
>this work from Wittgenstein -- "The world is the totality of facts, not
>things." I have found this right phenomenologically, that is, as a
>'philosophical' ontology, since 'things' are more of a mental construct than
>(perceptions of) fields of color, say (i.e. maybe "tropes".) (04)
> But, more importantly, I have found that n-ary relations with n = 0 to *,
>together with roles (my 'computer science' meta-ontology or upper ontology) is
>a more expressive, more flexible, simpler, way to represent knowledge for
>computing purposes than 'entities', 'attributes, and 'relationships' (an can
>easily be done with UML diagrams). (05)
Entities/classes are unary relations, attributes are binary relations, and
relationships are n-ary, usually for n>1. Relations with n=0 are
"interesting". A 0-ary relation is one which has no arguments ('roles'). They
are 'propositions', which may or may not be 'facts', and they may or may not
correspond to things in the UoD. (06)
We may take 'fact' to mean the abstraction of a perceived 'state' of the world.
(Antoine Lonjon described a 'fact' as the interpretation of a 'state' via a
'relation' (an n-ary verb) - a mental model of a state of the world that we
take to be real.) Then following Wittgenstein, we are talking about a universe
consisting entirely of 'states of affairs' that are perceived to 'obtain'. In
such a UoD, we may take what we perceive to be a 'thing' to be the state/fact
of its existence. (07)
When we try to relate this philosophical stance to 'relations', we get one
elegant result and one ugly result. The instances of n-ary 'relations' for n>0
are surely 'states' or 'facts', thus resolving one important formal question.
But what are the arguments to the predicates that represent relations in the
formal logic language? The arguments must refer to things in the UoD, and
those things themselves must be facts/states. Enter the 0-ary relation.
'WilliamFrank' is the name for a state/fact and for the 0-ary relation (William
Frank exists) of which it is the sole instance. His sending that email to this
exploder is a state that involves a relation ('person sends mail to group') and
three such 0-ary relations - William, the email, and the ontolog-forum exploder. (08)
Note, however, that 'William sent the XXX email to the ontolog-forum' is also a
0-ary relation that refers to a single state. But if he didn't actually send
it, that 0-ary relation has no instance. There is no corresponding fact,
merely a formal construct. So we need to make a separate rule for things like
'WilliamFrank' : if you introduce that 0-ary relation, there must be a
corresponding fact -- William Frank exists in the world of interest (the
universe of discourse). The world does not contain any 0-ary relations that
are 'false'. As one can see, this is a convenient formal model, but it is
getting a bit messy. (09)
And this use of 'facts' in lieu of things, coupled with 'facts' as '0-ary
relations', leads to John's diversion. If we can make 0-ary relations elements
of the UoD, why not n-ary relations? Well, n-ary relations, for n>0, are NOT
'facts' or 'states' -- they have 'open' arguments/roles. The 0-ary relation
that ?is? the n-ary relation is just the abstraction itself, the classification
of states. The state that the relation exists (as an abstraction), is not the
state of its having any instance. The state/fact that the relation exists is
like WilliamFrank -- you can safely assume that the abstraction exists; but you
can't make any assumptions about there being any 'instances' of it. You need a
separate formal model for the relationship between the abstract state of the
existence of the relation and the states that are its 'instances'. (010)
There is a further problem with this. If you start with, say, a ternary
relation: '(person) sends (email) to (group)', which has 3 argument slots, you
can reduce it to a binary relation by filling one of the argument slots with a
'constant' or a quantified variable: '(person) sends some email to (group)'.
And if relations can be elements of the world (UoD), then this binary relation
is also such an element. We can further reduce the binary relation to a unary
relation: (person) sends some email to ontolog-forum. And this unary relation
can also be an element of the world. Now we can further reduce the unary
relation to a 0-ary relation: Charles Peirce sends some email to
ontolog-forum. But suddenly, this relation cannot be an element of the world
if it is not also a 'fact'! (011)
Slippery slope. Wittgenstein + relations requires a careful model theory.
0-ary relations (propositions!) are special; they are not n-ary relations -- n
must be greater than 0. Or, you can branch out into interesting philosophical
models (where "interesting" may have the Chinese curse interpretation). (012)
> -----Original Message-----
> From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-
> bounces@xxxxxxxxxxxxxxxx] On Behalf Of John F Sowa
> Sent: Monday, February 24, 2014 8:06 AM
> To: ontolog-forum@xxxxxxxxxxxxxxxx
> Subject: [ontolog-forum] Defining everything in terms of relations (was
> Charles Fillmore...)
> On 2/23/2014 11:18 PM, William Frank wrote:
> > I have found that n-ary relations with n = 0 to *, together with roles
> > (my 'computer science' meta-ontology or upper ontology) is a more
> > expressive, more flexible, simpler, way to represent knowledge for
> > computing purposes than 'entities', 'attributes, and 'relationships'
> > (an can easily be done with UML diagrams).
> I strongly agree.
> I have no objection to using terms like 'entity', 'attribute', 'property',
> etc. But each of them should be defined in terms of relations.
> For example, my preferred axiom for entity:
> In other words, everything in the ontology is an entity. If your logic lets
> quantify over relations, then relations are also entities. That lets You
> dispense with the endless wrangling about reifying stuff. If you want to
> to something, then refer to it.
> A class is defined as a pair (t,s), where t is a monadic relation called the
> and s is the set of everything for which t is true.
> If you want properties, define them:
> (Ax)(Ay)(Entity(x) & HasProp(x,y) => Property(y))
> This says that a property is anything that an entity has.
> Q: What do you mean by HasProp?
> A: HasProp is a relation between entities and properties.
> Q: Isn't that a circular definition?
> A: Of course it is. All your basic terms can only be defined
> by their relations to one another. For examples, see Euclid.
> Q: How would anyone know what kinds of things are properties?
> A: Formally, state more axioms. Informally, show some examples
> and discuss the pros and cons of various options.
> This gives you clear, precise definitions of all the metalevel terminology for
> talking about ontologies and relating them to any system(s) that happen to
> use different terminology.
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/ Community Wiki:
> http://ontolog.cim3.net/wiki/ To join: http://ontolog.cim3.net/cgi-
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J (015)