- From: Niklas Lindström <lindstream@gmail.com>
- Date: Sun, 27 Jan 2013 16:42:56 +0100
- To: Manu Sporny <msporny@digitalbazaar.com>
- Cc: Gregg Kellogg <gregg@greggkellogg.net>, Ivan Herman <ivan@w3.org>, RDFa WG <public-rdfa-wg@w3.org>, Thomas Roessler <tlr@w3.org>
Hi Manu,
Thanks for the editing! There seem to be some things left.
## Two possibly tricky things (please comment, everyone who can)
1. In "3.5 Property Copying": Should a rdfa:Pattern really only be
removed if it has been used (i.e. linked to with rdfa:copy)?
Otherwise, the final removal step should remove rdfa:copy links in one
step and every statement about an rdfa:Pattern in another. (Did
Gregg's original text specify it like this?)
2. There was a comment elsewhere recently [1] by Lev Khomich
(implementor of RDFa 1.1 extraction in Java): "Also step 1 of
paragraph 3.5.1 may need some explanation for cases of circular
dependencies inrdfa:copy - rdfa:Pattern chains."
Given the set nature of triples and the text "until no new triples are
added", I suppose that, technically, circular rdf:copy chains aren't a
problem with these rules? Still, it would be wise to spell this out
explicitly. (Did Gregg's text do that?)
## Some mainly editorial issues
3. There are several Turtle examples in the document (which I think is
good), but no mention of Turtle nor any link to its definition. We
should add something akin to (or reference) the Turtle section in RDFa
Core [2] (but possibly with a reference to the spec in development
[3]).
4. Should the results of the first RDFa markup example in "2.1
Document Conformance" really be presented in a table? I'd prefer it in
Turtle notation as well (like the rest of the output examples):
@prefix : <http://schema.org/> .
[] a :Blog;
:url <http://example.org/> .
(By doing this, we don't need the named bnode "_:item1", which could
otherwise confuse those who wonder where that comes from.)
5. It may be wise to add an explicit output example from "EXAMPLE 6:
Events with duplicate properties" and "EXAMPLE 7: Copying common
properties" in 3.5 as Turtle. Since it is the same for both, only one
block is needed:
@prefix : <http://schema.org/> .
[] a :MusicEvent ;
:image <Muse1.jpg>, <Muse2.jpg>, <Muse3.jpg>;
:name "Muse";
:startDate "March 7th 2013";
:location <#target> .
[] a :MusicEvent ;
:image <Muse1.jpg>, <Muse2.jpg>, <Muse3.jpg>;
:name "Muse";
:startDate "March 3rd 2013";
:location <#united> .
6. As previously pointed out, the word "item" or "items" is used to
describe Pattern copying. Since there are no "RDFa items", only
descriptions of resources (which are post-processed by this mechanism
and not "in" the document) I suggest to also change:
* "many items on a page that share a common set of properties" to
"many resources described by a page that share a common set of
properties".
* "This pattern can then be copied into other RDFa items within the
document" to "This pattern can then be copied into other descriptions
expressed by the document".
* "The common properties are copied into each event item via the
rdfa:copy predicate" to "The common properties are copied into each
event description via the rdfa:copy predicate".
7. The text "The inclusion process is iterative, so that resources may
include other resources that include other resources." seems
confusing, as we speak about pattern *copying*. It could be changed to
"The copy process is iterative, so that patterns may copy other
patterns (that may copy other patterns).". If so, "EXAMPLE 8:
Resources may include other resources that include other resources"
should be renamed accordingly to "EXAMPLE 8: Patterns may copy other
patterns".
8. While I'm being pedantic, "EXAMPLE 9: Iterative copying example
output in TURTLE" could be improved by using a default prefix (easier
to read and more like @vocab), and a non-wrapping top bnode:
@prefix : <http://schema.org/> .
[] a :Person ;
:name "John Lennon";
:band [ a :MusicGroup;
:name "The Beatles";
:size "4" ] .
## Some syntax issues in the examples
9. The Turtle in "EXAMPLE 3: Namespace preservation triple" needs
triple quotes for the multiline literals, and to have the datatype IRI
put in angle brackets. It should be:
<>
<http://example.org/vocab#markup>
"""<rect xmlns=\"http://www.w3.org/2000/svg\" width=\"300\"
→height=\"100\" style=\"fill:rgb(0,0,255);stroke-width:1;
stroke:rgb(0,0,0)\"/>
→<rect xmlns=\"http://www.w3.org/2000/svg\" width=\"50\"
→height=\"50\" style=\"fill:rgb(255,0,0);stroke-width:2;
→stroke:rgb(0,0,0)\"/>"""^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral>
.
10. The same goes for "EXAMPLE 5: Namespace element preservation
triple". It should be:
<>
<http://example.org/vocab#markup>
"""<p xmlns:fb="http://www.facebook.com/2008/fbml">
→<fb:user uid="12345"></fb:user>
→</p>"""^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
11. In "EXAMPLE 8", the first <p>-element isn't properly closed, just
followed by another <p>. (Granted, HTML5 parsing would fix that; but
still.)
That's all I can find.
Cheers,
Niklas
[1]: https://github.com/levkhomich/semargl/issues/12#issuecomment-12730492
[2]: http://www.w3.org/TR/rdfa-core/#turtle
[3]: http://www.w3.org/TR/turtle/
On Sat, Jan 26, 2013 at 8:19 PM, Manu Sporny <msporny@digitalbazaar.com> wrote:
> On 01/21/2013 01:13 AM, Gregg Kellogg wrote:
>>>> I believe the 'if' clause should also include
>>>>
>>>> ?target rdf:type rdfa:Pattern
>>>
>>> Also, when copying, I don't think the rdf:type of rdfa:Pattern
>>> should be copied; right? So I believe the "then add: ?subject
>>> ?predicate ?object" needs a condition, like "unless: ?predicate =
>>> rdf:type and ?object = rdfa:Pattern" (possibly put in a new
>>> rightmost column).
>>
>> The remove triples also has an explicit pattern for deleting the
>> rdfa:Pattern from the target, which is unnecessary.
>
> Ivan, Niklas, Gregg, I believe I've made the changes each of you
> requested. Please double-check to make sure it's correct:
>
> http://www.w3.org/2010/02/rdfa/sources/rdfa-in-html/Overview-src.html#implementing-property-copying
>
> -- manu
>
> --
> Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
> President/CEO - Digital Bazaar, Inc.
> blog: Aaron Swartz, PaySwarm, and Academic Journals
> http://manu.sporny.org/2013/payswarm-journals/
Received on Sunday, 27 January 2013 15:43:53 UTC