Questions and Comments on RIF Basic Logic Dialect document

	Questions and Comments on RIF Basic Logic Dialect
	(undated version, downloaded 15 October 2007)
	Peter F. Patel-Schneider

I have a number of questions and comments (mostly questions) on the RIF
Basic Logic Dialect document.  Answers to the questions may result in
further comments.  

I downloaded the document on 15 October 2007, which should have gotten
me the frozen version.

1/ The presentation of the RIF Condition Language is made unnecessarily
   complex by its division into two parts.  I suggest presenting the
   language all at once.

2/ The RIF Condition Language has a very complex syntax.  However, the
   condition sublanguage of the RIF BLD does not use this complexity.
   I suggest removing the development of the RIF Condition Language and
   instead just presenting the condition sublanguage of the RIF BLD.
   Alternatively, but less desirable in my mind, would be to present the
   RIF Condition Language in an appendix. 

3/ Why is it obvious that different symbol spaces cannot share an
   identifier?

4/ Why are built-in derived XSD datatypes like xsd:int not required RIF
   symbol spaces?  Why is xsd:integer the only derived datatype in
   required RIF symbol spaces?  Why are xsd:date, xsd:boolean,
   xsd:float, and several other built-in primitive XSD types not in the
   required RIF symbol spaces?  I suggest expanding the required RIF
   symbol spaces to cover all the useful built-in XSD datatypes.

5/ How do the intended meanings for rif:iri and rif:local affect the
   semantics of the condition sublanguage of the RIF-BLD?

6/ Following the pointer to the list of builtin predicates in the
   W3C-style version of the document results in a 404 error.

7/ What is the arity of the builtin symbol
   http://www.w3.org/2005/xpath-functions#Imadethisup ?

8/ Where are the semantics for the builtin predicates?

9/ Since the condition sublanguage for RIF-BLD can distinguish between
   individual symbols, predicate symbols of each arity, and function
   symbols of each arity by context, why not include this distinction in
   the presentation syntax?

10/ Is it true that disjunction can be eliminated in *all* rule
    formalisms (including operational ones)?

11/ Is the restriction in the condition language of the RIF-BLD relating
    to the appearance of quantified variables carried over into the RIF
    condition language?

12/ Why do constant symbols used (only) as predicate and function
symbols
    have to have a denotation in the model theory for the condition
    language of RIF-BLD?  

13/ Why are mappings for predicate symbols (IR) partial?  What happens
    in the semantics for predicate applications that are not in the
    domain of the predicate?

14/ Why is the treatment of datatypes different in RIF from their
    treatment in RDF?  I suggest using the same treatment.

15/ It is not really the case that slotted terms have "named" arguments,
    because the argument "names" are interpreted.  Instead slotted terms
    have paired, unordered arguments.  I suggest using some other
    wording.

15a/ Is t() a slotted term or a regular term?

16/ Why is "assumed" used in the definition of signatures for slotted
    terms?  Either the order is immaterial or it is not.

17/ Why are the first part of the arguments to slotted terms not allowed
    to be slotted terms?

18/ Suppose that name and age are constant symbols with the same
    signature, e.g., term{}.  Then either both or neither of
    Person(name->"a") and Person(age->"a") are well-formed.  Why cannot
    signatures make a distinction between these two terms?  Most
    languages that allow named arguments can make these distinctions.

19/ Why are the signatures of the terms used in membership, subclass,
    and frame formulae not used to determine the well-formedness of
    these formulae?

20/ Why are slotted well-formed terms not allowed in membership,
    subclass, or frame formulae?

21/ Why are frame formulae that include other frame formulae part of the
    basic syntax?  They are stated to be shorthand, but only
    half-defined as such.  Why not make them really into shorthands?

22/ It appears that the signature mechanism cannot capture the syntax of
    the condition language of the RIF-BLD.  Is this the case?

23/ Are the mappings for ISF, etc., total or partial?

24/ It is not just that slotted function and predicate applications can
    have the first element of their pair arguments map into the same
    domain element, it is also the case that these first elements can be
    repeated verbatim, as in married(spouse->Jack,spouse->Jill) or even
    married(spouse->Jack,spouse->Jack).

25/ The use of set notation in the definition of Itruth for slotted
    function and predicate applications is unfortunate, as these are
    bags, not sets.

26/ V*U and V*PL turn RDF names into constant symbols in symbol spaces.
    V*TL is defined as turning RDF names into constant symbols not in a
    symbol space, but later constant symbols that look like the result
    of V*TL given as if they were in a symbol space.  What is the status
    of V*TL?  (I'm assuming that it does map into a symbol space.)

27/ Given that RIF-RDF combinations need datatypes, why not just only
    define the combination for D-entailment?

28/ Point 4 of common interpretations is not very well stated.  What is
    the set of datatypes used?  Is it all the datatypes in D?

29/ RIF-RDF combinations appear to add extra entailments on the RDF
    side.  For example
       "abc"^^xsd:decimal ex:a ex:b .
    appears to RIF-RDF entail
      http://www.w3.org/2005/rif/rdf-ill-typed-literal/uri-encode("abc"^^xsd:decimal)
      ex:a ex:b .
    I don't think that this is a good idea, and suggest that it should
    be the case that RIF-RDF entailment matches RDF D-entailment when
    there are no rules.

30/ Why is rdf:type is not related to membership formulae (i#c) and
    rdfs:subClassOf not related to subclass formulae (c1##c2)?  I
    suggest that they should be related.

Here are some grammatical and wording comments:
2.1:     syntax, which -> syntax which
2.1.1.1: Exists, auxiliary -> Exists, and auxiliary
2.1.1.2: signature, which -> signature which

Received on Friday, 19 October 2007 09:19:54 UTC