Re: review of primer

Hi Sandro,

Thanks again for your very helpful comments, as well as for all of your
help during the last few days. Below, I've explained, in-line,  how I've
responded to each of your comments.

On Mon, September 27, 2010 9:52 pm, Sandro Hawke wrote:
> Here are my comments from Sept 17th, that I mentioned in last week's
> meeting and hoped to implement myself.   Unfortunately, I've been sick
> and haven't been able to do much; I'm still happy to do them if I have
> time before any of the editors.    Sorry, but a few of these (esp on the
> title of the document) may have been obsoleted by more recent discussion
> and comments - I don't remember right now how that got resolved, so I
> left my comments as I'd written them before last week's meeting.
>
>   -- Sandro
>
> ----
> The capitalization of "IMDb" and "DBpedia" were often incorrect.  I went
> ahead and fixed this.   Also, IMDb and IBDB where expanded as
> "International..." but it's really "Internet...".  I also fixed this.

Thank you for fixing this!

> ----
>>  Existing RIF dialects that are not discussed in this document include
>>  [PRD] and [FLD].
>
> FLD is not a dialect; it's a specification for a way to make more
> dialects.  I suggest something like:
>
>         The RIF Production Rules Dialect [PRD] is not discussed in this
>         document, nor is the Framework for Logic Dialects [FLD].

I do discuss PRD now, extensively, so I changed the wording, but I did fix
up the stuff about FLD.

>
> In general, I wonder about changing the title and branding this a "RIF
> Core Primer"?  I think that would be good, especially for not
> marginalizing PRD folks.   As far as I can tell, BLD features are only
> used in section 5.1 ("Functions, Equality") and that could be usefully
> retitled "BLD Features: Functions, Equality".   We could similarly add a
> section, like that, on actions.

As explained in the email to Gary, and in email to you over the last few
weeks, I've changed the Primer extensively, and it now does discuss both
BLD and PRD, on an equal footing.. Moreover, it makes clear what is Core,
and what are extensions to Core.

> ----
> RIF CS isn't very well explained, I'm afraid.  Most critically, the
> relationship to XML isn't even mentioned.  Maybe somewhere in the
> introduction we can say something like:
>
>         The standard syntax for RIF is a verbose XML syntax, designed so
>         that programs can easily generate and parse it.  For human
>         readers and writers, we generally use a more terse syntax which
>         has a simple 1-1 correspondence to the XML. For example, in
>         [BLD], the "RIF Presentation Syntax" is used to help make
>         semantics of BLD more
>         readable.   The correspondence between RIF PS and RIF XML is
>         given
>         in section 5.1
>         [http://www.w3.org/TR/rif-bld/#XML_Serialization_Syntax_for_RIF-BLD]
>
>         In this document, we use a slight variation on RIF PS, which we
>         call RIF Convenience Syntax and do not formally define.  The
>         difference is simply that we use the words "if" and "then"
>         instead of the ":-" operator.
>
> Personally, I would also advocate for using infix operators for And, Or,
> and the builtins in RIF CS, but I guess it's a little late.   (Also,
> taking the name "Conveniences Syntax" seems a little silly for such a
> small change.  I would go for Primer Presentation Syntax, I guess, and
> appreciate the humor in "PPS".   But whatever -- not important.)
>

Well, I fixed the wording, in accordance with your suggestions.

I have something now called Multiple Presentation Syntax, which basically
does what Convenience Syntax does, but I explain that it just does the
inversion of the :- operator, which is used for BLD.

> Also, of course, it would be nice to use multi-syntax examples, so
> people can see the RIF CS, RIF PS, RIF XML, and RIF-in-RDF versions of
> each rule, something like what is done in the OWL Primer.  I understand
> if we don't have time for that.

Yup, no time for this release. If I have some free time, I'd be happy to
do it for a future release.

> ----
>> Note that our examples v0.2 and v0.2.1 are now valid RIF syntax.
>> However, they are not yet complete RIF documents, and are therefore
>> still shown in red.
>
> This is not quite true; the comment syntax is still the incorrect
> shortcut at that point.
>
> I wonder about not using comments, but instead using captions on the
> examples.  I could do some CSS to make a caption which is centered or
> floated to the right side of the page, if you want.
> ----

As discussed in email, I took out all comments.

>>  dbpedia:awardwinner
>
> I've generally heard it considered somewhere between bad practice and
> rude to make up terms in someone else's domain.   Can we put the made-up
> terms in our example namespace?
>
>    -> switch to madeup namespace
>
> ----

I switched to faux namespaces and pointed this out in the text.

>> rdfs:comment
>
> rdfs is missing from some of the Prefix lists.
>

> Also, it's odd to use it before it's defined.  My implementation doesn't
> handle that, but I guess it should.
>
>     * CS could use # for comments.
>

No comments now, so this became irrelevant.

----
> In section 5.1, we should say something about this stuff being in BLD,
> not Core -- perhaps as I suggested above.

All done, as explained previously.

> ----
> The RifStars1.0 rule doesn't use year 2, so it'll match if there are
> only two such appearances.   Simplest is probably to add that
> year1<year2 and year2<year3, and update the english to say "in three
> separate years".
> ----

 Not yet handled; this slipped through. Will fix.

>> imdbcpt:filmframe[imdbcpt:filmname -> ?Film imdbcpt:filmyear -> ?Year]
>
> Um, that's not right for frames.   The frame id (before the "[") should
> be ex:GoneWiththeWind to match later bits of this example.
> ----

Fixed both frame examples, as discussed in email yesterday.

> There are some "(add pointer)" notes that obviously need to be
> addressed.

Done.

> ----
> In the example RDF triple, it should be annotated with which RDF syntax
> is being used.  In this case it looks like Turtle.

In SWC, Jos says it's Turtle, but other web sources don't agree. I left it
as is.

> ----
>> Two notable variants of OWL 2 are OWL 2 DL and OWL 2 Full.
>
> How about: OWL 2 has several standard subsets (profiles) and two similar
> semantics, called the Direct Semantics and the RDF-Based-Semantics.
> ----
>> OWL 2 Full is semantically equivalent to RDF; therefore, since RDF is
> intercompatible with RIF, OWL 2 Full is as well.  That is, one can infer
> conclusions from OWL 2 Full axioms and RIF rules and facts.
>
> I have no idea what that means.    Certainly OWL 2 Full is not
> equivalent to RDF!

Yes, I don't know how that got in there. Too much writing at 3 AM!
>
> I'm afraid this OWL section isn't very helpful.   I'd rather see it
> removed then left in substantially this form.  I think the important
> things to say about RIF and OWL are:
>
>       * their use together is well defined
>       * sometimes one has a choice whether to do something in RIF or
>         OWL; many logic sentences can be expressed in either languae
>       * OWL RL can be implemented with a RIF ruleset, as shown in
>         http://www.w3.org/2005/rules/wiki/OWLRL
>       * when writing RIF to work with OWL, you can pick which OWL
>         semantics you want by picking how you import the RDF and OWL.
>
> The canonical example would be to define the semantics of an rdf "uncle"
> predicate, ?x[uncle->?y] iff exists ?z ?x[parent->?z]
> and ?z[brother->?y].   That can't be said in OWL 1, but it can be said
> in OWL2, as in:
> http://www.w3.org/TR/owl2-primer/#Property_Chains and
> http://www.w3.org/2007/OWL/wiki/New_Features_and_Rationale#F8:_Property_Chain_Inclusion
>
> I'm pretty sure you can't have an OWL property chain that ends in a data
> value, so you can't, for instance, define assistantsPhoneNumber (seen in
> some phonebook apps) as the phone number of someone's assistant, since
> phone numbers are (typically) data values.   So for that, you still need
> RIF.
>
> My bottom line advice to folks is: if you can express your rules more
> naturally in rules, go ahead and use RIF.  If you want to use some of
> each, stick to the RL subset, so that it can all be handled as RIF.

I shortened the section and rewrote according to your suggestions.

> ----
> Personally, I'd drop 7.2 (RIF in RDF).   I think it's just confusing to
> people who don't need it, and those who do will find it elsewhere.  If
> it stays, I may have some minor wording suggestions.

I shortened, and just have it as a remark now.

> ----
> I think there should be some section at the end, like Next Steps,
> pointing to
> the Overview http://www.w3.org/TR/rif-overview/
> and FAQ http://www.w3.org/2005/rules/wiki/RIF_FAQ
> and developer's mailing list
> http://lists.w3.org/Archives/Public/public-rif-dev/

Done.

> ----
> I'd also lean slightly toward dropping the IFvsRL section in favor of
> putting it in the FAQ.  It seems out of place here.  (The RIF-vs-OWL
> stuff above could go into the FAQ, as well.)

I took out this section and plan to put this in the FAQ.

> ----
>
> That's it!    Thanks for all the hard work putting this together.   I
> think with a little more polish this'll be great.
>
>     -- Sandro
>
>
>
>
>
>

Thanks again for all your help,
Leora

-- 
Leora Morgenstern, Ph.D.
http://www-formal.stanford.edu/leora

Received on Wednesday, 27 October 2010 15:13:18 UTC