- From: Sandro Hawke <sandro@w3.org>
- Date: Tue, 09 Sep 2008 12:31:54 -0400
- To: Story Henry <henry.story@bblfish.net>
- cc: semantic-web@w3.org
> Just on first reading I find the syntax to be quite problematic. It > clashes with other well known syntaxes namely Turtle, SPARQL and N3. Hmmm. It sounds like we need to provide more clear warnings and explanation that the syntax you're commenting on is not "the syntax of RIF". The documents say: Throughout this document the following conventions are used when writing RIF and RDF statements in examples and definitions. * All RIF statements are written using the RIF presentation syntax [RIF-BLD]. - http://www.w3.org/TR/2008/WD-rif-rdf-owl-20080730/ We define both the presentation syntax (below) and an XML syntax in Section XML Serialization Syntax for RIF-BLD. The presentation syntax is normative, but is not intended to be a concrete syntax for RIF-BLD. The presentation syntax deliberately leaves out details such as the delimiters of the various syntactic components, escape symbols, parenthesizing, precedence of operators, and the like. Since RIF is an interchange format, it uses XML as its concrete syntax.... - http://www.w3.org/TR/2008/WD-rif-bld-20080730/ In other words, the "presentation syntax" is used for convenience for people reading/writing the spec, but has no special status, and is not suitable for interchange. It's like the OWL 1 "Abstract Syntax". Does that make more sense now? In terms of the style of this (semi-formal) language, you're right that it's not like N3 or SPARQL -- it's more like Prolog and F-Logic, which are notations more likely (we think) to be familiar to people who might need to understand the technical details of these specs. I expect any user-facing documents (like UCR and maybe test cases) will have example in multiple user syntaxes, including N3 where appropriate. -- Sandro > The two problems I see is that in those languages square brackets are > used for blank nodes, and { } to delimit graphs. > > As an example take the following > http://www.w3.org/TR/2008/WD-rif-rdf-owl-20080730/#RDF_Compatibility > > [[ > Forall ?x ?y ?z (?x[ex:uncleOf -> ?z] :- > And(?x[ex:brotherOf -> ?y] ?y[ex:parentOf -> ?z])) > ]] > > If I were to write the above in SPARQL I think you meant to say > > [[ > PREFIX ex: <http://example.org/rif> > > CONSTRUCT { ?x ex:uncleOf ?z } > WHERE { > ?x ex:brotherOf ?y . > ?y ex:parehtOf ?z . > } > ]] > > In N3 similarly > > [[ > { ?x ex:brotherOf ?y . > ?y ex:parehtOf ?z . } => { ?x ex:uncleOf ?z . } > ]] > > SPARQL is already widely deployed, and there are a lot of N3 rules out > there, that are very useful guides for people working their way around > the web. There is even more Turtle around, and it is a blessing that > it is now being used, as RDF/XML though very nice in many ways, leads > to a huge amount of confusion. > > My feeling is that the current human readable syntax, not being > aligned with SPARQL is going to create confusion unecessarily. It > seems to be that an attempt should be made to get something that fits > better with SPARQL and N3 intuitions, so as to make the learning curve > as light as possible for people who are new to this world. > > Henry > > On 9 Sep 2008, at 16:51, Sandro Hawke wrote: > > > > > > > The W3C specifications for logic rules and for using rules with RDF > > and > > OWL are in their "Last Call" public comment period. This is the time > > for people to read them and tell us about anything that doesn't seem > > right. After this, if you don't like something in the spec, it will > > be > > increasingly hard to get it changed. We would like comments by > > September 19 in order to consider them for our next set of revisions. > > > > For more details, see this e-mail I sent August 1st: > > http://lists.w3.org/Archives/Public/semantic-web/2008Aug/0002.html > > > > Thanks! > > > > -- Sandro
Received on Tuesday, 9 September 2008 16:33:58 UTC