- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Sun, 20 Jul 2008 11:08:00 +0200
- To: RIF <public-rif-wg@w3.org>
- Message-ID: <48830070.7040409@inf.unibz.it>
Here with my review of FLD. In summary, I think it can be published as
second public working draft.
I also think we are not very far from last call.
Below are my further comments. As far as I'm concerned, they can be
implemented after publishing the second public working draft.
I have one substantive comment, a few points for discussion, a
suggestion for simplification (which is editorial), and a few editorial
comments.
The substantive comment is concerned with the name of the dialects, in
the Dialect() construct. It is now required to be an alphanumeric
string. I think this is too restrictive. I think it should at least be
possible to write IRIs there. I personally don't think we need to allow
anything else, but would be fine with this being a Unicode string or a
constant.
The discussion points are the following:
- the logical connectives in the language do not include material
implication and equivalence.I do not really understand the rationale for
including certain connectives and not including others.
- it seems to me that the classical negation is not sufficiently general
to capture the notion of strong negation in logic programs. Do we want
to capture this notion with FLD?
A suggestion for simplification is concerned with the definition of
semantic structures. I think it can be simplified in two places:
- I= can be removed: the condition on the interpretation of equality
atoms in section 3.6 is necessary and sufficient, which means that I= is
determined by this condition and is thus redundant. the truth valuation
of equality atoms can be written as follows:
TValI(x = y) = t if I(x) = I(y) and TValI(x = y) = f otherwise.
- Iframe need only be defined for the cases of 0 and 1 property-value
pairs; the condition on the interpretation of frames with multiple
attribute-value pairs makes the definition of Iframe on frames with
multiple attribute-value pairs redundant.the truth valuation of frames
can then be defined as follows:
TValI(o[a1->v1 ... ak->vk]) = glbt(Itruth(I(o[a1->v1])), ...,
Itruth(I(ak->vk]))) if k >0.
TValI(o[]) = Itruth(I(o[])).
Further editorial comments:
General:
- when writing compact URIs, parentheses, and variables in the text you
sometimes teletype font and sometimes not. I would suggest always
using teletype font.
Overview:
- third paragraph, second last sentence: "and also directly" => "and
directly" (repetition both, also)
- third paragraph, last sentence: I don't think the reference to RIF-BLD
needs to be repeated here, as it was already mentioned in the previous
sentence
- the overview of the syntactic framework should mention formulas
- syntactic framework, bullet symbol spaces, first sentence: "used as
variables, individual" => "used as individual" (variables do not have
symbol spaces)
- paragraph semantic framework, first sentence: I would suggest to
always use "semantic structure" and not just "mostly"
- semantic framework, bullet entailment: "Description Logic" =>
"Description Logics" (it is a family of languages)
- paragraph before XML serialization framework problem it seems that
this belongs to the bullets on entailment, and should thus be indented.
Then, not all Description Logics are based on first-order logic, some
have nonmonotonic extensions(perhaps say "many"). Also, not all logic
programming languages use default negation (perhaps say "most").
Section 2.1
- bullet 1 says the alphabet can be restricted. It would be good to
have some idea as to how it can be restricted.
- Bullet 3 there are several types of external terms; it would be
worthwhile to mention these here
Section 2.2
- paragraph following the bulleted lists, second sentence: "preceded
with" => "preceded by"
- last paragraph: Group should be mentioned before Document, because a
document contains groups
Section 2.3
- the abbreviations mentioned here should already be mentioned in the
introduction, because they are used throughout the documents
- it is not entirely clear what a "legal symbol" is. Did you intend to
define the notion here? Otherwise, maybe you should call it
"syntactically valid"
- 2nd last paragraph, first sentence: it is not clear what it means for
a dialect to include the symbol space. Did you mean to say that all
symbols in the symbol spaces are part of the syntax of the dialect?
- last paragraph is redundant with the first sentence of the previous
paragraph
Section 2.4
- bullet 7, third paragraph: "only predicates can be used" => "only
predicates and functions can be used"
- 2nd last paragraph, first sentence: "base terms" => "terms" (base
terms are not defined anywhere)
- last paragraph, when talking about signatures: a forward reference to
the section about signatures is in order here
Section 2.5
- definition of external schema: better to list here the permitted kinds
of terms rather thanlisting the exclusions. For example, you did not
capture equality terms here.
- paragraph following the bullets: "the same schema" =>
"indistinguishable" (they are not the same)
- definition of coherent set of external schemas: "if there can be no
term, t, that is an instance of two distinct schemas" => "if there is no
term, t, that is an instance of two distinct schemas in the set"
- last paragraph: "it important" => "it is important"
Section 2.6
- definition of signature name, first sentence: "finite or countably
infinite" => "countable" (is shorter)
Section 2.7
- first sentence: "is a set of all" => "is a set of"
Section 2.8
- definition of well formed term, bullet 2, second sub-bullet: there is
a ',' too many here
- definition of well formed formula, bullet 8: "or group formulas" is
redundant here, since group formulas are non-document formulas
- same definition, bullet 9, 2nd sub-bullet, third sub-sub-bullet:
"are used as shorthands" => "define shorthands"
Section 2.10
- 1st sentence: "mathematical English" is used here for the first time,
and I expect that most readers will not understand what it means
Section 3.1
- I did not really understand bullet 1. It is not really said here what
the dialects must specify.
- bullet 3: it is not clear what it means for a dialect to support a
datatype. I suppose you meant to say "requires implementations to support"
Section 3.8
- second paragraph: "RIF-BLD sets" => "RIF-BLD set of formulas"
- third paragraph: "not" => "Neg"
Section 7
- it should be explained what is meant with a baseline module and a
skyline module and what the rationale is for splitting the schema into
these two modules
Section 7.2
- the schema should refer to the baseline schema by URI, and not local
filename
--
debruijn@inf.unibz.it
Jos de Bruijn, http://www.debruijn.net/
----------------------------------------------
One man that has a mind and knows it can
always beat ten men who haven't and don't.
-- George Bernard Shaw
Received on Sunday, 20 July 2008 09:08:53 UTC