Re: Understanding 'chaining'

Manu,

to clarify one point in your mail. You say:

> - @trel never causes the creation of a new bnode. @trel always has a
>   subject, if nothing else - it's the current document.

Correct.

> - @trev causes the creation of a new bnode, sometimes, but the results
>   are a bit confusing based on Ivan's explanation. This could be an
>   issue, such as in Test Case #51, if we are to have the same
>   functionality as @instanceof.

Actually, this is _not_ what I had in mind. What I said is: the subject
@trev is whatever is sent 'down' to the children. In the absence of any
@rel/@rev on the element our current processing rules say that the
inherited subject (or the value of @about) will be the one sent down.
The @trev value would apply on that one if nothing else is around. In
other words, @trel/@trev never creates new nodes, it just takes whatever
is there. Sorry for the confusion.

Ivan




Manu Sporny wrote:
> Ivan Herman wrote:
>> - @rel's subject is either @about or the 'inherited' resource coming
>> from the parent
>> - @rev's subject is the resource sent 'down' to through the chaining
>> (and taken into account, via inheritance, by the children)
> 
> I took some time to look at how Ivan's @trel/@trev proposal would affect
> the test cases. Overall, his proposal makes the issues that we've been
> having with @instanceof easier to address.
> 
> The following approved test cases would have to be changed based on
> Ivan's @trel/@trev proposal: #49, #50, #52, #53 and #1001.
> 
> #49   - @instanceof changes to @trel
> #50   - @instanceof changes to @trev
> #52   - @instanceof changes to @trev
> #53   - @instanceof changes to @trev
> #1001 - @instanceof changes to @trel
> 
> The following on-hold test cases could be resolved based on Ivan's
> @trel/@trev proposal: #46, #47, #48, and #51.
> 
> #46 - @instanceof changes to @trev
> #47 - @instanceof changes to @trev
> #48 - @instanceof changes to @trel
> #51 - @instanceof changes to @trel (possible issue with SPARQL?)
> 
> Every test case seems to transition quite easily to Ivan's scheme and it
> doesn't look like there would be a great deal of disagreement like there
> is currently for @instanceof. Additionally, it would allow us to support
> all of the use cases that Ben has outlined as being important. There
> don't seem to be any nasty side-effects that I can see.
> 
> A couple of observations that I don't know if Ivan intended or not:
> 
> - @trel never causes the creation of a new bnode. @trel always has a
>   subject, if nothing else - it's the current document.
> - @trev causes the creation of a new bnode, sometimes, but the results
>   are a bit confusing based on Ivan's explanation. This could be an
>   issue, such as in Test Case #51, if we are to have the same
>   functionality as @instanceof.
> 
> While @trel never creating a new bnode is not an issue, @trev not
> creating a new bnode at times might be an issue. From what I understand,
> @instanceof will create a new bnode and start chaining in the following
> instance:
> 
> <body>
>    <p instanceof="foaf:Document" property="foaf:topic">John Doe</p>
> </body>
> 
> In the case above, the following triples should be created, per the
> SPARQL in Test Case #51:
> 
> <> <foaf:topic> "John Doe" .
> _:bn0 a <foaf:Document> .
> 
> Using Ivan's proposal, if we replace @instanceof with @trel, we get the
> following triples:
> 
> <> <foaf:topic> "John Doe" ;
>    a <foaf:Document> .
> 
> If we replace @instanceof with @trev, we get the same triples, I think?
> Is this wrong, Ivan? Does the following create a new bnode or not?
> 
> <span trev="a:b" />
> 
> If not, how do we create a new bnode to start chaining? Or, more
> precisely, what happens in this case:
> 
> <body>
>    <p property="foaf:topic">John Doe
>    </p>
>    <span trev="foaf:Document" />
> </body>
> 
> The confusion came in when you stated this:
> 
>> <span about="#a" rel="foaf:knows" trev="foaf:Person">
>> yields
>> <#a> foaf:knows [ rdf:type foaf:Person ].
> 
> and then followed it up with this:
> 
>> Note that
>> <span about="#a" trel="a:b">
>> and
>> <span about="#a" trev="a:b">
>> yield, actually, the same triples because, according our rules, <#a>
>> will be sent 'down' to the children.
> 
> Those two rules seem to be in conflict with one another? For example, this:
> 
> <span about="#a" trel="a:b">
> 
> would generate this
> 
> <#a> a <a:b> .
> 
> and
> 
> <span about="#a" trev="a:b">
> 
> should generate this?
> 
> _:bn0 a <a:b> .
> 
> That's really the only issue I could find with Ivan's @trel/@trev
> proposal so far. It's not a major issue, it just needs some clarification.
> 
> -- manu
> 

-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Wednesday, 28 November 2007 12:37:38 UTC