Abbreviated Syntax


We follow the RDF abbreviation syntax in much of this. The abbreviated syntax includes additional syntactic constructs that perhaps provide a more convenient and compact form to represent a subset of the data model. IFF interpreters are expected to implement both the standard serialization syntax and the abbreviated syntax. Consequently, ontology authors are free to mix the two.

While the standard serialization syntax shows the structure of an IFF model most clearly, often it is desirable to use a more compact XML form. The IFF abbreviated syntax accomplishes this. As a further benefit, the abbreviated syntax allows descriptions obeying certain well-structured XML DTDs to be directly interpreted as IFF models for special ontologies.

Abbreviation Forms

The Classification of Objects

This is the most basic abbreviation syntax. It applies to the common case of an object containing a classification. The object type defined in the ontology corresponding to the value of the classification attribute can be used directly as an XML element name.

Here is an example (compare the RDF abbreviation). The “id”, “about”, “name”, “sound”, “picture” and “Standard Syntax:

<Individual classification="Person"

  name="Ora Lassila"


Abbreviated Syntax (as XML element):


  name ="Ora Lassila"



The Classification of Relations

This is the most basic abbreviation syntax. It applies to the common case of a record containing a classification. The relation type defined in the ontology corresponding to the value of the classification attribute can be used directly as an XML element name.

Here is an example (compare the RDF abbreviation):

Standard Syntax:

<Record classification="email"



Abbreviated Syntax (as XML element):





The Attributes of Objects

The first syntax abbreviation embeds binary relations, including functions, into object type declaration and object instance descriptions as XML child elements. The second abbreviation syntax inserts functions into object instance descriptions as XML attributes of the parent element.

Here is a type example:

Standard Syntax:

<Object name="Executive_Officer"/>

<Relation name="position"   source="Executive_Officer" target="String"/>

<Function name="birth.year" source="Executive_Officer" target="Date"/>

<Function name="" source="Executive_Officer" target="Date"/>

Abbreviated Syntax (as XML child elements):

<Object name="Executive_Officer">

  <Relation name="position"   target="String"/>

  <Function name="birth.year" target="Date"/>

  <Function name="" target="Date"/>


Here is an instance example (compare the RDF abbreviation):

Standard Syntax:

<Individual id="w3c-homepage" about=""/>

<publisher source="w3c-homepage" target="W3C"/>

<name      source="w3c-homepage">W3C Home Page</title>

<date      source="w3c-homepage" target="1998-10-03T02:27"/>

Abbreviated Syntax (as XML child elements):

<Individual about="">

  <publisher value="W3C"/>

  <title>W3C Home Page</title>

  <date value="1998-10-03T02:27"/>


Abbreviated Syntax (as XML attributes):

<Individual about=""


  title="W3C Home Page"




The Arguments of Relations

The first syntax abbreviation uses the entity type of an argument in place of the signature element label in the argument specification. The second syntax abbreviation uses in a record the optional argument names from the signature of the corresponding relation type specification. These names are required to be distinct within the local context of the relation.

Here is an example:

Relation Declaration (in the ontology) – Standard Syntax:

<Relation name="award">

  <signature position="1" name="person"       entity=“Employee"/>

  <signature position="2" name="organization" entity=“Corporation"/>

  <signature position="3" name="title"        entity=“String"/>     

  <signature position="4" name="date"         entity=“Date"/>   


Relation Declaration (in the ontology) – Abbreviated Syntax (as XML child elements):

<Relation name="award">

  <Employee    position="1" name="person"/>

  <Corporation position="2" name="organization"/>

  <String      position="3" name="title"/>

  <Date        position="4" name="date"/>   


Standard Syntax:

<Record classification="award">        

  <argument position="1" value="grove"/>       

  <argument position="2" value="Corporation#Time_Magazine"/>       

  <argument position="3">Man of the Year</argument>       

  <argument position="4" value="1997"/>     


Abbreviated Syntax (as XML child elements):

<Record classification="award">       

  <person value="grove"/>       

  <organization value="Corporation#Time_Magazine"/>       

  <title>Man of the Year</title>       

  <date value="1997"/>     



Existential Quantifiers

Existential quantification only asserts the existence of an entity, but is not required to give an identification or description of the entity. So a simple abbreviation in IFF expressions is to refer to the entity without identification or description. Here we use two forms of abbreviated existential quantification:

(1)   declare objects without identifiers

with embedded attributes (binary relations or functions), and

(2)   use references to objects in the form type#,

which are qualifiers without an instance designator.

Here is an example for the following natural language assertion with reified verb:

“A cat is chasing a mouse.”

Existential Quantification – Standard Syntax:



  <Exists var="x" entity="Cat"/>

  <Exists var="y" entity="Chase"/>

  <Exists var="z" entity="Mouse"/>

    <CG:agnt src="y" tgt="x"/>

    <CG:thme src="y" tgt="z"/>



Existential Quantification – Abbreviated Syntax:




    <CG:agnt val="Cat#"/>

    <CG:agnt val="Cat#"/>

    <CG:thme val="Mouse#"/>





Please send questions, comments and suggestions about this page to: Robert E. Kent

Copyright © 2000 TOC (The Ontology Consortium). All rights reserved. Revised: August 2000