- From: Axel Polleres <axel.polleres@deri.org>
- Date: Mon, 06 Oct 2008 21:15:54 +0100
- To: public-rdf-in-xhtml-tf@w3.org
- CC: Axel Polleres <axel.polleres@deri.org>, alxandre.passant@deri.org, Benjamin Heitmann <benjamin.heitmann@deri.org>
I just realized that we missed the official RDFa review deadline for 3 days, but still send this to the group, as it hope it might be helpful or can be clarified. We understand, if it can't be taken into account at this stage, but hope that the option of considering the suggestions can still be discussed in the group before the document turns to recommendation. So, I send below the comments suggested by 3 of my colleagues who did the review on behalf of DERI, namely Alexandre.Passant (alexdandre.passant@deri.org) benjamin heitman (benjamin.heitmann@deri.org) christoph lange (christoph.lange@deri.org) ===== Detailed comments: ===== The inconsistent specification of the CURIE syntax is the main critical question we have, which occurs in more than one section. The main question is whether a CURIE must contain a colon, or need not. The formal syntax definition in section 7 says > curie := [ [ prefix ] ':' ] reference but the definition of the XML Schema datatype in appendix B.1 does not reflect the fact that the colon can be missing: > <xs:simpleType name="CURIE"> > <xs:restriction base="xs:string"> > <xs:pattern value="[\i-[:]][\c-[:]]*:.+" /> > </xs:restriction> > </xs:simpleType> Generally: If the authoritative definition of CURIEs in RDFa is to be given in the RDFa spec, you could simplify this a bit and restrict it to those cases that are valid in RDFa. If the definition of CURIEs in RDFa is to be taken from the CURIE specification (http://www.w3.org/TR/curie/), the RDFa specification could just refer to that, and concentrate on RDFa-specific differences, such as: > The mapping to use when there is no prefix is not defined, which > effectively prohibits the use of CURIEs that do not contain a colon These sentences . > In general use it is possible to omit the prefix, and so create a > CURIE that makes use of the 'default prefix' mapping; in RDFa the > 'default prefix' mapping is http://www.w3.org/1999/xhtml/vocab#. It's > also usually possible to omit both the prefix and the colon, and so > create a CURIE that contains just a reference which makes use of the > 'no prefix' mapping. However, RDFa does not define a 'no prefix' > mapping, meaning that this form of CURIE is not supported. . in section 7 suggest that ":next" is a valid CURIE (due to the 'default prefix' mapping), but "next" is not. On the other hand, there is no reasonable example given that explains why ":next" should ever be used, as in all cases where it makes sense to use it (as in link/@rel), you can just write the non-CURIE "next", to which a special handling applies. The fact that "next" is not a CURIE makes the parsing of link/@rel overly complicated. But, on the other hand, that might have been a deliberate design decision, as it allows for prohibiting <link rel="foobar"/>. Actually, interpreting "next" as a CURIE would be consistent with the CURIE spec (citing from http://www.w3.org/TR/curie/): > A host language MAY interpret a reference value that is not preceded by a > prefix and a colon as being a member of a host-language defined set of > reserved values. Such reserved values MUST translate into an IRI, just as > with any other CURIE. Similarly, section 5.4.4 would be affected, depending on the definition of what a CURIE in RDFa is: > @rel and @rev support both XHTML link types and CURIEs If XHTML link types like "next" turn out to be CURIEs, this will have to be rephrased. Moreover, it is not clear how to use a default namespace introduced via @xmlns with CURIEs; consider the following sentence from section 7 and an example: > However, RDFa does not define a 'no prefix' mapping, meaning that this form > of CURIE is not supported. BTW, what if we have e.g. <xhtml:elem xmlns="http://purl.org/dc/elements/1.1/" about=":foobar"> (or maybe about="foobar"?) Would the only possibility to reference a resource in this namespace by a CURIE be to give this namespace a proper prefix, such as "dc"? So if redefining the default namespace does not have any impact on the URI prefix mapping that is relevant for CURIEs, this should be explained by a dedicated example. Other sections affected by this issue are 5.4.2 and 5.4.3: > 1. Split the CURIE at the colon to obtain the prefix and the resource. How should the parser react if there is no colon? (Which is possible according to the CURIE syntax definition in section 7, just not supported by RDFa, according to the additional remarks about the 'no prefix' mapping given there.) > Since non-CURIE values MUST be ignored, the following value in @about would > not set a new subject, since the CURIE has no prefix separator. > > <div about="[Albert_Einstein]"> > ... > </div> "[Albert_Einstein]" is not a non-CURIE in the sense of the formal syntax defined in section 7, nor in the sense of the CURIE spec, but it is a CURIE that is not supported in RDFa, according to the absence of a 'non prefix' mapping. Other issues follow... == 2.2 Examples == No examples are given for embedding invisible annotations into the document using @rev, @content, and @resource. There should at least be an example for @content and @resource. > Note that it is generally considered a good idea not to use relative paths > in namespace declarations, but since it is possible that an author may > ignore this guidance The XML namespaces spec says it's deprecated. So it should probably not be endorsed by the (newer) RDFa spec. == 5.3 Chaining == > Einstein has a birth place of Germany, which has a long name of > "Federal Republic of Germany". This example is arguable; We'd suggest to completely replace it throughout the specification. Einstein was born in Germany, but at that time the Federal Republic of Germany did not exist. I think this example opens a can of worms, as it raises questions of temporal reasoning that RDF does not have an answer for. == 5.4.5 Referencing Blank Nodes == Here it should be mentioned that you can also generate implicit bnodes using @typeof. bnodes with an explicit ID are not the only way. == 5.5 Sequence == > 9. . the actual literal value is obtained as follows: > * as a [typed literal] if: > * @datatype is present, and does not have an empty value Note that this condition covers the case @datatype=rdf:XMLLiteral, so it should be changed to: "does not have an empty value, nor the value XMLLiteral" ==== 6.1.1.3 Using @src ==== > The complete mark-up yields three triples: > ... > <photo1.jpg> xh:license <http://...> . xhv is the correct prefix.
Received on Monday, 6 October 2008 20:16:46 UTC