- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Tue, 25 Apr 2006 11:51:17 +0100
- To: "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>
- CC: public-rif-wg@w3.org
Boley, Harold wrote: > Dear all, > > Michael Kifer, I, and several other RIF participants have > been working on this draft of a RIF Extensible Design > for the planned extensibility discussion in a telecon. > Please find it below and attached. Great, thank you for that. The basic approach of designing RIF Core as a Condition language is a good one. (1) The integration with RDF needs more work. The basic proposal seems to be extension A.4 which seems to be a builtin to express SPARQL queries. Whilst this would minimally meet the requirement to work with RDF it is not ideal. First, it requires all RIF processors which handle RDF (which is all of them if RDF support is in the core, as I think it should be) to support full SPARQL. For implementations which care about RDF that would be reasonable but for others that might be a high threshold. In any case it limits implementer flexibility. Second, it makes it hard to see how rule conclusions will then relate back to the RDF being accessed by this SPARQL query builtin. In a PR/ECA setting I guess you can have an action to assert a new RDF triple into the graph that SPARQL is querying but that doesn't make sense in an LP setting. The syntactic separation between the SPARQL queries and the rest of the condition language is not very elegant and leaves users (at least users dealing with RDF) faced with rather a lot of different ways of expressing the same condition. My preference would be to be able to interpret binary atoms as RDF statements and extend the syntax to allow variable Rels, or have a distinguished rdf/3 Rel. (2) The assumption that Data and Ind objects are distinct sorts seems problematic. For example, how would that be applied to bNodes in RDF data? Certainly going further than that and applying the sorting to variables as well would be a serious problem for RDF processing. (3) The XML syntax suggests that Ind should be IRIs but this is not clear in the readable syntax. Further, Rel and Funs should also be labelled by IRIs (note that this is wanted if RIF is to be a webized language, separate from RDF-specific issues). For the readable syntax I would suggest using the N3 (or curie) style prefix:name. (4) The XML syntax suggests that a datatype would have a lexical form and an optional data URI, the BNF should reflect that so that the type can be specified within the readable syntax. For RDF compatibility it would be convenient to also include optional xml:lang tags for "strings". In a final version we would want to recommend a specific subset of XML Schema Datatypes which should be supported. Related to this the SPARQL precedent suggests that http://www.w3.org/TR/xpath-functions/ might be a good starting point for defining the semantics for a core set of builtins compatible with xsd types. Dave
Received on Tuesday, 25 April 2006 10:51:38 UTC