FWIW, the NIST RECON tool accepts:

*For every Squid: s, there are exactly 10 Tentacles: t, such that s has-part t.*

* *

assuming you defined ‘has-part’. A tool like Rabbit uses ‘has as part’. Define the terms you like.

(the syntactic differences are (1) RECON accepts there is/are but not ‘there exists’, and (2) it uses the colon to say that you are assigning a variable name to these instances
of Tentacle. Otherwise, t should be a term. The following formulation, which is also accepted.

*For every Squid:s, there are exactly 10 Tentacles: t, such that t is a part of s.*

* *

‘is a part of’ is also a fine verb.

One can also write:

*For every Squid, there are exactly 10 Tentacles: t, such that t is a part of the Squid.*

(which uses a back reference (anaphor) instead of a variable, a trick I learned from Attempto)

I am sure that there are a dozen controlled natural language parsers out there that can do something very, very similar.

The big question is what formal language you want generated from these human-friendly languages.

-Ed

**From:** ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx]
**On Behalf Of **William Frank

**Sent:** Tuesday, May 13, 2014 7:02 PM

**To:** [ontolog-forum]

**Subject:** Re: [ontolog-forum] Visual Notation for OWL Ontologies (VOWL)

On Tue, May 13, 2014 at 3:54 PM, John F Sowa <sowa@xxxxxxxxxxx> wrote:

Doug, Aldo, Kingsley, and Ed,

Following are the correct translations for Simon's example:

English: Every squid has as part exactly 10 tentacles.

CG: [Squid: @every]->(HasPart)->[Tentacle: {*}@10].

And here is how this would be expressed, ignoring the irrelevancies of the symbols used, in the kinds of extensions of predicate logic with iota and lambda operators etc. that have been explored by mathematically
oriented linguists.

*For every Squid s, there exist exactly 10 Tentacles t, such that s has-part t.*

It may be only me, but I don't think you have to become familiar with anything new to understand this formulation. This enables a gentle transition between a natural language and a structured version of that
language to what a computer would be most happy dealing with. The syntax, semantics, and proof theory for this family of languages has 100 years of work and scholarship behind it.

It looks to me, though, that CG and OWL *both* want to attach quantifiers directly to classes, instead of to free variables, just as the Object Constraint Language does. This is one of the many quite awkward consequence of thinking that everything that can
be said can be easily said about a class or a relation between classes.

Why start at the **other** end of the stick, with a reinvention of this wheel that ignores the discovery of variables, and decide which is 'more' reable, and which to use? Because the Procrustian bed of Linked Documents can't deal with it? (Which I very
much doubt.)

John