[78]                               home                            [80]

 

 

 

Thursday, August 19, 2004

 

The BCNGroup Beadgames

 

 

N-ary relations

 

 

Comment by John Sowa

 

Dick,

 

Your criticisms are well taken.  And they apply equally well to the way people are using RDF, which uses a notation for triples, that are syntactically equivalent to the <a, r, b>. People are using (or misusing) those triples in all the ways you noted.

 

I agree that n-adic (or n-ary) relations are essential and that it is better to make provisions for them directly than to require the users to construct them from combinations of triples.

 

I'd also like to mention that there is nothing new in any of these representations.  Triples were first implemented by Silvio Ceccato in his correlational nets in the 1950s.

 

Ceccato used an IBM 650 computer, which did arithmetic on 10-digit decimal numbers.  Each 10-digit word was divided in a 2-digit operation code and two 4-digit addresses.  Ceccato used the op-code to represent any of 56 different relations, derived from linguistics and logic. He used the two address fields as pointers to blocks of storage for two concepts related by the relation.  It was a very systematic representation, but the maximum addressable storage of 10K 10-digit words (about 50K bytes) wasn't big enough to do much more than some interesting demos.

 

The more general n-adic relations were first defined by Frege (1879) for his Begriffsschrift and by Peirce (1880, 1885) for his algebraic notation for logic, which was the foundation for today's predicate calculus. In 1897, Peirce developed his graph representation, which he called _existential graphs_.  That is the version of logic I adopted for conceptual graphs.

 

For a history of semantic networks, see my article for the Encyclopedia of Artificial Intelligence:

 

http://www.jfsowa.com/pubs/semnet.htm

 

For Peirce's own tutorial on existential graphs with

my commentary:

 

http://www.jfsowa.com/peirce/ms514.htm

 

 

 

John Sowa