- From: Harry Halpin <hhalpin@ibiblio.org>
- Date: Tue, 13 May 2008 19:54:42 +0100
- To: Bijan Parsia <bparsia@cs.man.ac.uk>
- Cc: Dan Connolly <connolly@w3.org>, public-grddl-comments@w3.org, Chimezie Ogbuji <ogbujic@ccf.org>, public-grddl-wg@w3.org
Bijan Parsia wrote: > For the sake of the OWLWG, if the GRDDL discussion group can come to > some consensus it believes would be helpful, I'd love to have it > brought back over. I prefer the detailed discussion not to be > reflected directly back as we have a lot of other stuff on our plates. > > Is that ok? Sounds like a plan. So, shall we test for some consensus? It appears the 2 reasonable options are: 1) List of implementations at the namespace doc (Bijan) 2) An implementation in XSLT at the namespace doc, with a list of other implementations and a warning that the implementation in XSLT is just conformant, i.e. not more "normative" than any others. . Bijan is bringing up some critiques of 2), and the GRDDL WG members seem to agree with Bijan's perceptive and good points that GRDDL does not have to be an XSLT or "normative" in the strong sense. I think that 2) is a reasonable position that may satisfy some of Bijan's concerns about normativitiy - is there any disagreement on that from the members of the GRDDL WG, who prefer 1)? >> Bijan Parsia wrote: >>> >>> On May 12, 2008, at 8:55 PM, Dan Connolly wrote: >> [snip] >>>>> I feel fine in asking a W3C wg to provide a specification *for the >>>>> transformation function*, but it should not be the presumption that >>>>> saying "Support GRDDL" means providing an implementation. >>>> >>>> Presumption? It's a straightforward reading of the GRDDL spec, no? >>>> >>>> "Developers of transformations should make available >>>> representations in >>>> widely-supported formats. XSLT version 1[XSLT1] is the format most >>>> widely supported by GRDDL-aware agents as of this writing ... ." >>>> -- http://www.w3.org/TR/grddl/ >>> >>> People are reading the SHOULD as a MUST. That's what I object to. My >>> straightforward reading of the spec is that it is SHOULD. In any >>> case, we supply the transformation in HTML which is way more popular >>> than XSLT :) (albeit, not with GRDDL-aware agents). >> Bijan is right here, it is a *should* - the GRDDL specification does >> not specify any programming language in particular, although we >> *recommend* XSLT as it is a widely-supported format and the one that >> to my knowledge all GRDDL transforms use. > > Do we not have a stronger point? Isn't the mere fact of an > *implementation* merely a SHOULD? That is, a non-executable > specification of a transformation function is sufficient to have a > GRDDL spec compliant namespace document (or transformation property in > general). > > Controlling text: > """ The general rule for using GRDDL with well-formed XML is: > If an information resource([WEBARCH], section 2.2) IR is represented > by an XML document with an XPath root node R, and R has a GRDDL > transformation with a transformation property TP, and TP applied to R > gives an RDF Graph[RDFC04] G, then G is a GRDDL result of IR.""" > > (the second paragraph is in "normative green" :)) Going back to GRDDL > transformation definition (oh, and it's confustion to go from > Transformation to Transformation Property, presumably TP is a name of > the trasnformation, not a property of the transformation.) > > ...ok, I can't find the univocal, normative definition of a GRDDL > transformation. Section 6 has normative green, but no indication of > what is normative in that section and for what. The green rule seems > to give sufficient conditions of being a TP given an xslt expressed > transform, but not the converse. This part of the spec seems to > interweave normative claims, best practice recommendations, and > normative claims given that you want to do some best practice. The TP is just whatever is at the end of the predicate "http://www.w3.org/2003/g/data-view#namespaceTransformation" I believe, although this is phrased slightly differently normatively due to the great QName->URI issue. The GRDDL Spec says "a *transformation property*, a function from XPath document nodes to RDF graphs". Yes, that's not in green. We decided to do rules normatively, and keep the vocabulary informative. We thought it would be simpler that way by avoiding "conformance vocabulary" issues - i.e. defining normative conformance in terms of possibly vague words rather than a few clear rules. However, if the rules are unclear, the words should informatively help. I think it's kinda assumed the transformation property "function" can actually execute, although if and when the execution happens is up to local policy. Any other opinions on this? > I don't think turning any of the (perhaps implicit) shoulds into musts > is a good idea. If reference implementations turn out to be useful > enough, people will produce them naturally. If they don't produce/use > them naturally, well, that's a comment on their perceived utility. > > In general, I'd prefer a model that allowed and encouraged a clean > distinction between specification and (many possible) > implementation(s). That seems like a much more robust design, both > technically and socially. I'd also prefer that GRDDL encouraged > *variant* transformation functions. For example, I might want to GRDDL > an approximation of an OWL/XML rather than a faithful translation. You can have multiple transformation properties. There's nothing in the spec against that. The agent can then choose among them. We do want faithful translations though, not sure about this "variant" point. We assume GRDDL gets one a faithful translation, and then any pruning or expanding or other "variance" can then be done later in the pipeline of the local agent. > [snip] >>> (I certainly wouldn't might pointing to a *set* of implementations >>> of our transformation functions, including web services, etc. Then >>> the GRDDL agent could ask the user which to use/install/whatever. As >>> long as the namespace document is actively maintained, that's not so >>> bad, furthermore, it can point to other lists...) >> >> However, at the same point, while it makes perfect sense for the W3C >> not to specify "reference implementations" per se, after all, the >> reference is the specification. However, this does not exclude >> conformant implementations. It does make sense for any specification >> to have test cases and verify that that there are conformant >> implementations. > > Sure. I've encouraged (and worked on) an XSLT implementation, as well > a Python implementation, of a transformation from OWL/XML to RDF/XML. > CR generally requires two interoperable, conforming implementations, > preferably independent developed. The demand is that we go further and > 1) develop an XSLT implementation as a WG (soliciting someone to do it > for us is morally the same as doing it ourselves), 2) produce this > implementation *as a deliverable* (whereas CR implementations aren't > the WG product...the CR *report* is), and 3) bless this implementation > by publishing in an autodiscoverable place in W3 space, in fact, a > place that is closely associated with OWL per se. These do not seem > like sensible things to demand of a WG, particularly one concerned > with specification. That's your issues with whoever is making those 3 demands, which certainly isn't us, and I agree with you that in particular, 2 seems a bit harsh to me. However, I do see no reason why if an conformant XSLT is produced, to not put it at the namespace doc for those unlucky enough not to use a conformant OWL2 implementation with the function local. >> I assume OWL2 will (not sure?) have test-cases and conformant >> implementations for its XML->RDF mapping. If one of those conformant >> implementations happened to be implemented in XSLT, I think it would >> make good sense for it to be available as a GRDDL from the namespace >> doc of OWL 2. > > My impression is that "available" means "explicitly and univocally > available as a auto, typically without user intervention, loaded piece > of code promised to be complete with commitment from the W3C on future > maintenance". We've proposed adding a pointer to the CR report and > this was rejected as violating the GRDDL spec (though, now, people > are, I hope, moving to the more reasonable claim that it violates > GRDDL *culture*). Your argument is that the CR report specifies the function abstractly. I'm pretty sure the GRDDL WG was not thinking of non-executable functions when developing GRDDL. I would like to here other opinions of whether or not a GRDDL transformation has to be "executable." My personal opinion is that I am not sure what the utility of it is if it can't be executable, although the namespace doc should give proper warnings via maintenance, normativity, etc. The list of non-executable functions and the spec would seemingly be better connected to the namespace doc via RDDL, no [1]? > So, I do not believe it makes good sense to do this, esp. given the > prevalence of high quality implementations that are widely used by the > OWL community already. > > BTW, I expect people to *extend* the OWL/XML syntax in a variety of > ways...I'm very unclear how that interacts with a fixed GRDDL > transformation and esp. an implementation. > >> Has anyone tried this? I would not encourage them, but again, would >> encourage someone to do an OWL2->RDF XSLT and see if it can be made >> conformant. > > I hope you see why the correctness of the XSLT is not the only issue. > >>> Cheers, >>> Bijan. >>> >> P.S.: >> Obviously, caching should be done to prevent the issues brought up by >> Henri. > > It's not caching alone. DTDs typically don't express all or even most > of the constraints of an XML format. So too for XML schema (wsdl is a > great example there). Obviously XSLT is more expressive, but then we > get *very* far from a straightfoward specing. > >> The caching issues should not be a reason to not use GRDDL. The GRDDL >> specification does not tell implementers how to cache, but it is >> given as something GRDDL-aware agents should do: "GRDDL-aware agents >> therefore should not retrieve such documents on every reference and >> should retain some cache or local memory of the transformations those >> documents indicate should be applied." [1]. > > Given that Henri, obviously, is well aware of caching possibilities, I > think caching is not really a solution. I don't see that it's a great > burden on users to configure their GRDDL agent for the well known > namespaces and the GRDDL vendors can compete on the quality of those > plugins as can third parties working in XSLT. I really don't see a > development/deployment advantage *other than* monopoly favor for the > blessed implementation. (Whether the monopoly play succeeds is a > different matter. However, I think monopoly plays are very bad PR.) Hopefully users to configure their GRDDL-aware agent to use local alternatives. But what about those that don't? A default is better than none IMHO. Ideally, vendors can a and should compete for XML to RDF transforms, but for many vocabularies less popular than OWL2 having a *single* transform to RDF is often not possible. GRDDL encourages at least one, but preferably multiple, transforms. > As I said before, there are good cases for web discovered, autoloading > cases, e.g., when it's ad hoc or for very small minority communities, > etc. But that's not our case. By encouraging a community to demand > that namespace document owners provide this kind of reference (and not > just reference...deployed default!) implementation, I predict that > that community will engender ill will. This is already true in the OWL > case. My early perception (as a veteren of the WSDL (and similar) > debacles) of GRDDL was positive because I thought the intent was to > encourage very non-intrusive behavior. And, for sure, it's better than > demanding (or requesting) that everything be done in RDF (or bemoaning > when it's not), but it still has a long way to go. No one here is making demands, we're just trying to clarify GRDDL. "Ill will" seems strong to me. In fact, I think RDF sort of people who are unlucky enough not to have a locally installed OWL2->RDF transform may find it actually useful, and those that do have another locally transform or do not use RDF will just ignore GRDDL. Those that do not have a locally installed OWL2->RDF transform may be a small, minority community. However, by not providing them an easy way to get RDF out of XML via an XSLT (i.e. GRDDL), that could provoke ill will towards OWL2 in some of the RDF community, no? I still do not see a good case on how a GRDDL transform (or multiple) that are actually executable hurt people, except if they perhaps *make* the mistake that the GRDDL transform is somehow "more normative" than others. But that's psychology, and the namespace doc can add a paragraph making it clear and a pointer to other conformant transforms that perhaps must be installed locally and are not compatible with current GRDDL-aware agents. Hope this helps. > Cheers, > Bijan. > > Cheers, > Bijan. [1] http://www.rddl.org/
Received on Tuesday, 13 May 2008 13:55:26 UTC