# [BLD] My BLD review.

From: Axel Polleres <axel.polleres@deri.org>
Date: Fri, 15 May 2009 23:21:49 +0200
Message-ID: <4A0DDCED.7070205@deri.org>
To: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
attached.
--
Dr. Axel Polleres
Digital Enterprise Research Institute, National University of Ireland,
Galway
email: axel.polleres@deri.org  url: http://www.polleres.net/

* Section 1
"RIF RDF and OWL Compatibility [RIF-RDF+OWL] defines the syntax and
semantics"

doesn't really define a syntax, does it?
better: "syntactic constraints and semantics" for combinations

*
"and not, e.g. execution"
->
"and not, e.g., execution"

* The overview section (or parts of it?) should be marked
informative. I am not sure whether the discussion of CL and KIF,
relation to SQL and DATALOG should be considered normative.

The following part seems very informative:
"Among its many influences, ... For rule interchange between CL and
RIF dialects, partial RIF-CL mappings will eventually be defined."

* "Logic-based RIF dialects that specialize or extend RIF-BLD in
accordance with the RIF framework for logic dialects [RIF-FLD] will
be developed in other specifications by the RIF working group."

I would only refer to Core as a specialization, but not mention
"future works" in the scope of RIF... we might say:

"Logic-based RIF dialects that specialize or extend RIF-BLD in
accordance with the RIF framework  for logic dialects [RIF-FLD]
include for example RIF-Core. It is expected that other dialects will
be developed in other specifications based on RIF."

*
"To give a preview, here is a simple complete RIF-BLD example deriving a ternary relation from its inverse."

"The fact Mary buys LeRif from John can be logically derived by a
modus ponens argument."

I'd personally suggest to remove "by a modus ponens argument" and for
the sake of the example rather state:

"Intuitivelty, the fact Mary buys LeRif from John should be logically derived."

*
"in the non-normative RIF-BLD Presentation Syntax"

*
"For the interchange of such rule (and fact) documents, a "
->
"For the interchange of documents containing  such rules (and facts)
a"

* "normative RIF-BLD XML Syntax"
"model-theoretic RIF-BLD Semantics"

*
"Whenever a RIF-BLD rule document falls into the Core subset or can be
translated to it, the document should be produced in RIF-Core to allow
its interchange with the maximum number of RIF consumers."

Ask myself whether this sentence is useful at this stage. What do we
want to state here? A general recommendation? If so, it is not well
placed, just inside an example.

* Section 2
if it is not normative, then section 2.6 should be marked
"(Informative)" explicitly.

* Section 2.1

'Const', 'Var' could be linked to the respective productions in the EBNF.

Remarke: Would it make sense to change 'Names' to 'ArgNames' in the EBNF (independently of the previous point) and XML syntac or - vice versa - not to speak about the set  <tt>ArgNames</tt> but use <tt>Names</tt> instead?

*
"abridged representations of IRIs"

Why do we call this "abridged representations" here? People used to W3C specs are probably more used to CURIEs, where we could even refer to the resp. spec.
or IRIRefs, whereas they might find the term "abridged representations off IRI too abstract.

* Section 2.2

"Positional terms correspond to the usual terms and atomic formulas of classical first-order logic . "

A reference to some introductory text of first-order logic may be useful, e.g. [Enderton01] which we already have in the references, or is it thought too far to expect this spec to be read by people non-necessarily with a logic background who may need a reference?

* similarly:
"similar to Lisp's s-expressions"
a reference to a Lisp textbook or spec should be added.

* List( ) ... It might make sense to  mention that this corresponds to the usual "nil" in other languages.

* "The reason for this restriction has to do with the complexity of unification, which is used by several inference mechanisms of first-order logic."
Again, a reference would be good.

* Example: Why is the whole example in fixed width font? Probably only the terms should be, but not the other text.

* "Any term (positional or with named arguments) of the form p(...), where p is a predicate symbol, is also an atomic formula. Equality, membership, subclass, and frame terms are also atomic formulas[...]"

I suggest to put this whole paragraph in a definition
"Definition (Atomic Formula) [...]"

*
"More general formulas are constructed out of the atomic formulas with the help of logical connectives."
->
More general formulas are constructed from atomic formulas with the help of logical connectives.

*
"Next we define the notion of RIF-BLD rules, sets of rules, and RIF documents."

Stricty speaking, I suggest to change this to
"Next we define the notions of Rule implications, Universal rules, and Universal facts, Groups (i.e. sets of rules and facts), and Documents."
we do not really define "sets of rules".

* "&Gamma; is an optional group formula";
Why is it optional? Does it make sense to allow documents which only have directives?

* "The Base directive defines a syntactic shortcut for expanding relative IRIs into full IRIs, as described in Section Constants and Symbol Spaces of [RIF-DTB]."

Change: reference "Section Constants and Symbol Spaces" to "Section Constants, Symbol Spaces, and Datatypes", this occurs several times.

* definition of base directive:

"where iri is a unicode string in the form of an IRI [RFC-3987]."
->
"where iri is a unicode string in the form of an *absolute* IRI [RFC-3987]."

This also applies to DTB, BTW.

* The capitalization of unicode Unicode should be uniform, that also applies to DTB btw.

* Section 2.4

"A convention is used to avoid a syntactic ambiguity in the above definition"
suggestion:
"The following precedence convention is used to avoid a syntactic ambiguity in the above definition"

"Editor's Note: The restriction that ids are rif:iri constants renders such ids useless, especially as global identifiers for documents. Should be revised."

Status? Can we go to LC with such a note?

*
"The symbols in Const that belong to the primitive datatypes are required to be individuals. "
->
"The symbols in Const that belong to the symbol spaces of primitive datatypes [ref to DTB] are required to be individuals."

otherwise unclear what "primitive datatype" means.
Another thing in this context which also affects DTB:

I think we need to revise our notion of "primitive datatype"
since it is not inline with XSD. For instance: xs:int is a derived
datatype, not a primitive datatype.

http://www.w3.org/TR/xmlschema11-2/#dt-primitive

Suggested Solution: we don't speak about "primitive datatypes", but only

*Section 2.5

* Definition (Context of a symbol):

"If s occurs as a predicate in an atomic subformula of the form s(...) (positional or named-argument)"

subformula of what? should be

"If s occurs as a predicate of the form s(...) (positional or named-argument) in an atomic subformula of &phi;"

*
"If s occurs as a function in a term (which is not a subformula) External(s(...))"

Why is the "(which is not a subformula)" needed? Suggest t drop this.

* "Definition (Imported document). Let &Delta; be a document formula and Import(loc) be one of its import directives, where loc is an xs:anyURI constant"

In Section 2.3 we define loc as Unicode sequences that form an IRI, not as
xs:anyURI constants. I suggest to just link to the definition of locator
http://www.w3.org/2005/rules/wiki/BLD#ref-locator

*
"For all the above reasons, the EBNF grammar is not normative."

as mentioned before, I would mention this in the seciton heading:

"2.6 EBNF Grammar for the Presentation Syntax of RIF-BLD  (informative)"

*
In example 3:

"for brevity, we use the shortcut notation prefix:suffix for constant symbols, which is understood as a shorthand for an IRI obtained by concatenation of the prefix definition and suffix. Thus, if bks is a prefix that expands into http://example.com/books# then bks:LeRif is an abbreviation for "http://example.com/books#LeRif"^^rif:iri. This and other shortcuts are defined in [RIF-DTB]. "

As such, this sounds a bit repetitive, given that shortcuts were discussed extensively in the paragraph before the example. I would write:

"for brevity, we use the shortcut CURIE notation prefix:suffix for constant symbols defined in [RIF-DTB]:it is understood as a shorthand for an IRI obtained by concatenation of the prefix definition and suffix. Thus, if bks is a prefix that expands into http://example.com/books# then bks:LeRif is an abbreviation for "http://example.com/books#LeRif"^^rif:iri."

*
Again, in the examples 3 and 4, only RIF snippets should use fixed width font.

*
It would be nice to have the BASE directive used as well in Example 5.

*
"The set TV of truth values in RIF-BLD consists of just two values, t and f."

Suggestion: remove "just"

* "The definition, below, is a bit more general than necessary. This is done in order to better see the connection with the semantics of the RIF framework described in [RIF-FLD]."

This is only a remark:  but IMO, for the sake of the self-contained definition of BLD, we ideally we had been as concise as possible. I understand though
that it is probably too late to change that. Maybe, it is better to just remove this paragraph.

* Definition (Semantic structure).

"the elements of Const that play the role of"
-should reuse to the terminology defined->
"the elements of Const that *occur in the context of*" (with link to Definition (Context of a symbol))

* in bullet 5. at "xD<sub>ind</sub>" a space should be added between \times and D<sub>ind</sub>.

as for the last condition in 5. :
just for clarification: So,
List (1|2) = 1
would be satisfiable, yes?

* in bullet 11.
"in the aforesaid document. "
->
"in [RIF-DTB].

* Section 3.5

"except that the mappings JC, IC, ICi1, ICi2, ... may differ on the constants in Const that belong to the rif:local symbol space, and the mappings JV, IV, IVi1, IVi2 can differ as well. "

suggest to separate that in a bullet is cleaner:

"except that
* the mappings JC, IC, ICi1, ICi2, may differ on the constants in Const that belong to the rif:local symbol space, and
* the mappings JV, IV, IVi1, IVi2 can differ.
"

*
"In this case, we assume that &Gamma;i is a tautology, such as a = a, and every TVal function maps such a  &Gamma;i to the truth value t. "

Isn't that at risk with Equality in conclusions being at risk?
Would it be an option to resort to And() instead:

"In such case, we assume that  &Gamma;i is a tautology, such as And(), and every TVal function maps such a  &Gamma;i to the truth value t. "

*
For non-document formulas, we extend TValI(&phi;) from regular semantic structures to multi-structures as follows. Let \hat{I} = {J,I; ...} be a semantic multi-structure. Then...

The spacing makes "{J,I; ...}" is not very readable in the standard formatting of the wiki, since italic and commas mix up badly. I am not sure how it will look in the TR stylesheet.

* Shall we informatively mention in the end of Section 3.5 the similarity between rif:local and blank nodes and refer to SWC Section 2
http://www.w3.org/2005/rules/wiki/SWC#Symbols_in_RIF_Versus_RDF.2FOWL_.28Informative.29
for further details?

* Example 6

- The XML doesn't contain namespace and entity definitions according to the prefixes... shouldn't it? Probably it is enough to do a forward reference to Example 8 for that.

likewise for example 7

- Again non "code" parts should not be fixed-width text.

likewise for example 7, 8

* Section 5

"Instead, conformance is described in terms of semantics-preserving transformations between the native syntax of a compliant syntax and the XML syntax of RIF-BLD."

It is not clear what is meant by "compliant syntax".

I suggest to simply write:
"Instead, conformance is described in terms of semantics-preserving transformations between the native syntax and the XML syntax of RIF-BLD."

* "Let T be a set of datatypes"

I suggest to use DTS instead of T, accoring to the notation used before.

*
"
Suppose E is a set of external terms that includes the built-ins listed in [RIF-DTB]
[...]
all the externally defined terms used in &phi; are in E.
"

Don't you rather want to say:
"
Let further E be a coherent set of external schemata [link-to-definition] that includes the built-ins listed in [RIF-DTB]
[...]
all the externally defined terms used in &phi; are instances of schemata in E.
"
?

Likewise, later on:

"E consists only of the externally defined terms (functions and predicates) that are required by RIF-BLD. The required namespaces are rif:iri and rif:local, and the required datatypes and externally defined terms (called built-ins) are those specified in [RIF-DTB]."
-->
"E consists only of the external (function and predicate) schemata defined  that are required by RIF-BLD. The required namespaces are rif:iri and rif:local, and the required datatypes and external schemata (called built-ins) are those specified in [RIF-DTB]."

* Section 6
"However, the same function symbol (plain or external) can occur with different numbers of arguments in different places. Similarly, predicate symbols can occur with different numbers of arguments."

I would add something along the following lines:
"Note that this varying arities are a slight generalization of first-order logic as it is usually defined in textbooks and which some rule system might be restricting as well. Terms with the same predicate (or function) symbol byt different arity can be reduced though to terms with uniue arities by incorporating the arity in the predicate (or function) name, e.g. p(X), p(X,Y) can be represented as p_1(X) p_2(X,Y)."

*
"The symbols of type rif:iri and rif:local can have the following signatures in RIF-BLD: individual, f, p, ef, or ep."

Do we really imply to allow:

External ( _a( ?X) )

i.e. external Schemata based on local names? I would prefer to exclude local names as identifiers for external preds/functions, at least in BLD.
If we wanted to disallow this, this applies also to the direct definition
of BLD in section 2, of course, and actually, maybe we should restrict this in
http://www.w3.org/2005/rules/wiki/DTB#Appendix:_Schemas_for_Externally_Defined_Terms
as well.

* "However, p() can be an atomic formula."

I would add for explanatory purposes:
"Propositional Logic can thus be expressed in RIF using no-argument predicate formulas although propositional symbols as such are not valid atomic formulas in RIF."

*
"RIF-BLD requires the symbol spaces defined in Section Constants and Symbol Spaces of [RIF-DTB]."

Change: reference "Section Constants and Symbol Spaces" to "Section Constants, Symbol Spaces, and Datatypes".

*
"The conclusion of the rule is an atomic formula or a conjunction of atomic formulas."

*
"If T is a set of datatypes "

I suggest to use DTS instead of T, accoring to the notation used before.

*
"We would also like to thank two past members of the working group, Allen Ginsberg and Paula-Lavinia Patranjan."

Shouldn't we also include David Hirtle here again?

* Appendix 10

similar to the Examples, the text should not be in fixed width font.

Received on Saturday, 16 May 2009 07:43:56 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:47:56 UTC