Response to PPS4


Thanks for the feedback and review. Some specific responses below. Most of your comments were incorporated as editorial changes to the LC document.

Peter F. Patel-Schneider wrote:

> Hi:
> I'm currently going through
> I'm having problems with undefined terms, to the extent that I'm worried
> about whether I'm understanding the document correctly.  The definition
> of a formula says that a formula is a statement of a particular form,
> but there is no definition of "statement" in the document at all.
> Please let me know what the definition of statement is.

A statement is a Unicode string, an expression in the language. To avoid further questions, all mentions of a "statement" are removed.

> There are other undefined terms used in the definition of language,
> e.g., "alphanumeric", "IRI constant", "x:y constant", "positional
> symbol", "symbols with named argument".

"Alphanumeric" is the standard term used in programming languages. It means a sequence of ASCII symbols, where each symbol is a letter, a digit, or an underscore "_", and the first symbol is a letter. We could have used NCNames, but they are too general.

An IRI constant is a constant in the symbol space rif:iri. All mentions are replaced with rif:iri.

"Positional symbol" means a positional function or predicate symbol. All uses are now explicit about that. Ditto for "symbols with named arguments".

All these terms have now been defined.

> Many constructs of the language take a sequence of sub-constructs.  In
> some places (e.g., for conjunctions) there is the explicit wording that
> this sequence can be empty.  In other places (e.g., for universal rules)
> there is nothing said about whether the empty sequence is allowed.  I
> cannot determine whether an empty sequence is allowed in these cases.
> In some places (e.g., positional terms) it seems that an empty sequence
> should be allowed; in others (e.g., universal rule) it seems that an
> empty sequence should not be allowed.

Done: added n≥0 and n>0 where appropriate.

> Several terms and phrases are used before they are defined, including
> "predicate symbol" and "subformula".  I suggest that the document be
> re-written to not use these terms before they are defined.


> There are several odd grammatical constructs that don't seem to make
> sense.  For example, the definition of "document" appears to depend on
> "the logical content of the document".  I think that this phrase should
> be removed from the definition of "document" (perhaps by being put
> immediately below the definition).


> It seems very strange that the document says in several places that
> directives do not affect semantics.  Surely directives affect the
> interpretation of the syntax, which has an effect on the semantics.  For
> example, xs:foo and xsd:foo have differing status depending on whether
> they "expand" to the same IRI.

The remark about the semantics has been removed.

> I don't understand why certain aspects of the grammar are only in the
> English text.  For example, why not put the ordering and uniqueness
> aspects of the Directives into the grammar?

This order is reflected in the EBNF gramar and in the English text. It is not clear what you are referring to here.

> In places the document alludes to transformations (e.g., eliminating
> disjunctions in rule premises) without any wording indicating that these
> transformations are benign in a particular context.

We found only one place where this is the case. That text has been moved into the section about conformance.

> I don't understand why the formula in an annotation has to be a frame
> formula or the conjunction of frame formulae.  Why are other kinds of
> formulae forbidden?

Annotations are meant to be (possibly nested) property-value statements about the rules and facts. The main reason to restrict the formulae to conjunctions of frames is so that the annotations can be straightforwardly extracted from RIF documents and processed using a BLD or RDF (frames essentially correspond to triples) processor.

> I don't understand the wording concerning conjunctive annotation formula
> referring to parts of the annotated term or formula.  

What is meant is that constants (e.g., IRIs) used in the annotated term or formula may also be used in the annotation. There is now a small example illustrating this point.

> It would be useful to link IRI to the IRI RFC in the definition of the
> syntax, not just in the introduction.


> The definition of symbol context should be rewritten to something like
> "If s occurs as the predicate constant of an atomic subformula", and so
> on. 


> Why does Example 2 mention CURIES as if the abbreviation mechanism is
> outside the language?  Surely the Prefix directive is there explicitly
> to allow for such abbreviations?  In any case the Prefix directive and
> it use are defined diferently from CURIES.

We deleted the mention of CURIEs in Example 2 and made it clear that we use the shortcut notation defined in DTB.

> Why repeat the entire EBNF for the condition language less that two
> pages later?

Done: Got rid of repetition.

> It seems strange to refer to the Prefix and Base directives as macros.
> They are only mechanisms to allow the abbreviation of IRIs, and are
> certainly not a general-purpose macro facility.

The relevant text has been cleaned up and the references to macros replaced.

> RIF BLD references Section 2 of RIF DTB, which refers back to RIF BLD.
> I am unsure whether this introduces a definition loop.

We found no loop, but we eliminated the definitional references from DTB to BLD.

> The net outcome of the problems and worries that I have described above
> is that I am unsure as to whether the syntax of RIF BLD is well
> defined.  I await responses on my above concerns.

All the above concerns have been addressed. Fortunately, all of them required only minor changes to clarify the text or to define missing terms. Thank you for all your comments.

> Peter F. Patel-Schneider
> Bell Labs Research


Last modified on 23 September 2008, at 14:29