Re: Thoughts on @src becoming equivalent to @about

Hi Manu,

I think I'd vote the same way too, although I'd like to clarify some
of the processing rules that you are referring to, since some of those
that you are suggesting would be new, already work.

In the current processing rules, any attribute can be a subject/object
item in the chaining hierarchy, provided that there is no @rel or @rev
present. This means that all of these are valid ways to express the
type of a resource:

  <img src="http://example.org/me.png" instanceof="foaf:Image" />

  <div about="#ben" instanceof="foaf:person">
    ...
  </div>

  <div resource="#ben" instanceof="foaf:person">
    ...
  </div>

  <a href="#ben" instanceof="foaf:person">
    ...
  </a>

Note that all of these formulations are consistent with the general
chaining approach; if they look odd here, simply wrap them in a <div>
with a @rel, and they become objects and subjects at the same time.

So the question for @src in the current processing model is not
whether it can support @instanceof -- since it can -- but what should
happen in the presence of @rel; should @src move to the left of @rel,
or to the right? (I.e., should it behave like @about, or like
@resource.)

We know that @about goes to the left of @rel (becomes the subject for
the element), and @href and @resource go to the right (become the
object for the element), but for @src it's not immediately obvious
which is preferable. However, I think going to the left is slightly
more useful, since it allows us to put the image into the middle of a
chain, like this:

  <div about="#me" rel="foaf:depiction">
    <img src="http://example.org/me.png"
     rel="cc:license" resource="http://...attribution" />
  </div>

which we couldn't do if @src went to the right of @rel. You could
still express licensing information if it went right:

    <img about="http://...attribution"
     rev="cc:license" src="http://example.org/me.png" />

and you could also express a relationship with a foaf:Person if it went right:

    <img about="#me"
     rel="foaf:depiction" src="http://example.org/me.png" />

But you couldn't easily combine both in one chain, in any
straightforward mark-up; putting @src to the left of @rel does allow
you to do that.

(Note that if we could continue the chain to the right of <img> --
i.e., by nesting more statements -- then this argument would be moot.
But since that's a tricky problem to solve, for various reasons, this
is the only way to put @src in the middle of a chain.)

Regards,

Mark

On 21/01/2008, Manu Sporny <msporny@digitalbazaar.com> wrote:
>
> I have no major issues with @src behaving like @about. I'd vote for it
> if it came to that.
>
> I didn't really hear anybody that was largely opposed to the idea on the
> call last week, either. Just to clarify, the reason I think we are doing
> this is so that we can apply @instanceof to @src.
>
> With the current processing rules (please correct me if this is wrong):
>
> Simple example (CURRENT RULES):
> -----------------------------------------------------------------
> <div about="#me">
>    <img rel="foaf:depiction" src="http://example.org/me.png" />
> </div>
> --------
> <#me> foaf:depiction <http://example.org/me.png> .
> -----------------------------------------------------------------
>
> However, this is problematic (CURRENT RULES):
> -----------------------------------------------------------------
> <div about="#me">
>    <img instanceof="foaf:Image" rel="foaf:depiction"
>         src="http://example.org/me.png" />
> </div>
> --------
> <_:bn0> rdf:type foaf:Image .
> <_:bn0> foaf:depiction <http://example.org/me.png> .
> -----------------------------------------------------------------
>
> By making @src behave like @about, we can do the problematic markup
> above, like so (PROPOSED RULES):
> -----------------------------------------------------------------
> <img src="http://example.org/me.png" instanceof="foaf:Image"
>      rev="foaf:depiction" property="#me" />
> --------
> <http://example.org/me.png> rdf:type foaf:Image .
> <#me> foaf:depiction <http://example.org/me.png> .
> -----------------------------------------------------------------
>
> We do lose out on the ability to do this, though (CURRENT RULES):
> -----------------------------------------------------------------
> <div about="#me">
>    <img rel="foaf:depiction" src="http://example.org/me.png"/>
> </div>
> --------
> <#me> foaf:depiction <http://example.org/me.png> .
> -----------------------------------------------------------------
>
> I don't see that as a huge loss, because we can always do this, with the
> added benefit of being able to do @instanceof (PROPOSED RULES):
> -----------------------------------------------------------------
> <div about="#me" rel="foaf:depiction">
>    <img src="http://example.org/me.png" instanceof="foaf:Image" />
> </div>
> --------
> <#me> foaf:depiction <http://example.org/me.png> .
> <http://example.org/me.png> rdf:type foaf:Image .
> -----------------------------------------------------------------
>
> -- manu
>
> --
> Manu Sporny
> President/CEO - Digital Bazaar, Inc.
> blog: Intro to the Semantic Web in 6 minutes (video)
> http://blog.digitalbazaar.com/2007/12/26/semantic-web-intro
>
>
>


-- 
  Mark Birbeck, formsPlayer

  mark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232
  http://www.formsPlayer.com | http://internet-apps.blogspot.com

  standards. innovation.

Received on Tuesday, 22 January 2008 01:38:15 UTC