- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Fri, 01 May 2009 11:17:59 +0200
- To: Sandro Hawke <sandro@w3.org>
- CC: Dave Reynolds <der@hplb.hpl.hp.com>, RIF <public-rif-wg@w3.org>
- Message-ID: <49FABE47.1060602@inf.unibz.it>
Sandro Hawke wrote: >>> The argument against the one-to-one mapping is that it's harder to >>> implement. I believe you cannot implement it in a rule system that does >>> not support function symbols, unless you have specific machinery for >>> manipulating the RDF list structures while you manipulate the RIF >>> structures: the construction of an RIF list implies the existence of a >>> bunch of objects used for the structure of the RDF list. >> I think any system likely to implement this would have such specific >> machinery anyway. >> >> However, the "as extensions" option is still useful and a lower >> implementation barrier so perhaps that would be the better choice. It >> doesn't stop people doing future extensions which strengthen the link. >> >> I won't be there on Tuesday (though I may be able make the first 25m of >> the call if that would be useful). At the moment my preference would be >> "as extensions" as top choice (on grounds of lower implementation cost) >> but "1-to-1" also acceptable. > > How big is the implementation cost? Jos said he thought Jena had this. > My sense is it's pretty easy, but I don't have enough of an > implementation working to really test it out. > > Hmmm. I'm wondering how far you'd get by just adding rules like this: > > forall ?L ?x > if is-list(?L) and count(?L) > 0 > then ?L[rdf:first->get(?L, 0) and > ?L[rdf:rest->sublist(?L, 1) > > forall ?L ?x > if is-list(?L) and count(?L) = 0 > then ?L = rdf:nil > > but I guess they aren't safe, and "?L = rdf:nil" isn't in Core or PRD, > and they're ... rather wasteful. Actually, I think they are going to be safe, since there is the is-list guard. The equality is a potential problem, though. On the other hand, you only need the ground equality List() = rdf:nil, which is easier to implement than general equality. Jos > > The main reason I want one-to-one is for people doing SPARQL queries on > the frames in a RIF rule base. But I guess that SPARQL interface could > do this conversion without it really being a mandatory part of RIF (just > like it would do the conversion from rdf:text to RDF's plain literals). > > -- Sandro > > > > > -- +43 1 58801 18470 debruijn@inf.unibz.it Jos de Bruijn, http://www.debruijn.net/ ---------------------------------------------- Many would be cowards if they had courage enough. - Thomas Fuller
Received on Friday, 1 May 2009 09:18:45 UTC