Fwd: representing hypermedia controls in RDF

again - to the list!
************************************

Yes,

<http://example.com/xxxxx> a foaf:Image .

is an affordance.

of course, that affordance (like HTML.IMG) relies a number of expectations
which most all of us recognize when we see it.

>From the network perspective, the expectations are (to keep it simple):
- this is a "safe"[1] and "idempotent"[2] operation
- an image media type to be returned.

>From the client application perspective, the expectations are:
- use an HTTP.GET when executing this operation
- take the results of the locator and "transclude" it into the existing view

if any these expectations are not fulfilled, the affordance is usually
considered "broken" (the network failed) or "mis-used" (the client did
something else).

<snip>
By the way, nothing stops me from having <a href="isbn:343-224122"> either.
It will probably be clickable, but won't work.
</snip>
I would restate this as "it is *possible* to have..." since there is,
actually something that stops you - the expectations of so many others who
recognize this affordance.

Think of the HTML.A as a door in a room. If i go up to a door, turn the
handle, and nothing happens (I don't "navigate" to a new room), I consider
the door broken or (as Donald Norman might say) that the door is "lying to
me." If I encounter a home where many of the doors act in this unexpected
way, I find the experience off-putting. I might even judge the architect
incompetent to, at the least, perverse.

Now consider a hypermedia representation where many of the affordances are
either not working as expected (as in your case) or are actually
inscrutable to me; ones that just don't tell me enough to be usable.

There is an advantage to using affordances in that they offer a shared
understanding without the need for narrative or instructions. That's why we
can drive most vehicles if we've already learned to drive one. Why we can
operate most telephones, etc.  Devices that have unfamiliar or
 counter-intuitive affordances are frustrating and, in some rare cases, can
be dangerous.



[1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1.1
[2] http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1.2


mamund
+1.859.757.1449
skype: mca.amundsen
http://amundsen.com/blog/
http://twitter.com/mamund
https://github.com/mamund
http://www.linkedin.com/in/mamund


On Fri, Nov 22, 2013 at 12:16 PM, Martynas Jusevičius <martynas@graphity.org
> wrote:

> Mike,
>
> so if RDF representation includes a triple such as
>
>   <http://example.com/xxxxx> a foaf:Image .
>
> is that an affordance? Because that gives me enough information to
> render it as <img src="http://example.com/xxxxx"/>.
>
> By the way, nothing stops me from having <a href="isbn:343-224122">
> either. It will probably be clickable, but won't work.
>
> Martynas
>
> On Fri, Nov 22, 2013 at 4:42 PM, mike amundsen <mamund@yahoo.com> wrote:
> > <snip>
> > A browser for example doesn't render the string
> > http://example.com/343-224122 as a clickable link unless you mark it up
> as
> > one using the <a> tag.
> > </snip>
> >
> > Yep, the A element is the thing that _affords_ clicking. it is the A
> element
> > which is the affordance.
> >
> > Affordances don't just supply addresses, they supply information about
> what
> > you can _do_ with that address (navigate, transclude, send arguments,
> write
> > data, remove data, etc.). The appearance of a URL alone provides very
> little
> > affordance.
> >
> > For example:
> > - http://example.com/xxxxx
> > - http://example.com/yyyyy
> > one of the two URLs points to a blog page to which the user can navigate,
> > the other points to a logo which should be displayed inline. which is
> which?
> >
> > Now this:
> > - <a href="...">blog</a>
> > - <img href="..."  />
> > one of the two URLs points to a blog page, the other points to a logo.
> which
> > is which?
> >
> > Note it is not the URL that provides the information (which is for
> > navigation, which is for transclusion), but the element in which the URL
> > appears. The element is the affordance. These are HTML affordances. There
> > are a couple more hypermedia affordances in HTML. Other message models
> > (media types) contain their own affordances.
> >
> > It is the appearance of affordances within the response representation
> that
> > is a key characteristic of hypermedia messages.
> >
> >
> >
> > mamund
> > +1.859.757.1449
> > skype: mca.amundsen
> > http://amundsen.com/blog/
> > http://twitter.com/mamund
> > https://github.com/mamund
> > http://www.linkedin.com/in/mamund
> >
> >
> > On Fri, Nov 22, 2013 at 10:13 AM, Markus Lanthaler
> > <markus.lanthaler@gmx.net> wrote:
> >>
> >> Hi Martynas,
> >>
> >> On Friday, November 22, 2013 3:12 PM, Martynas Jusevičius wrote:
> >> > Markus,
> >> >
> >> > in the Linked Data context, what is the difference between
> >> > "identifier" and "hyperlink"? Last time I checked, URIs were opaque
> >> > and there was no such distinction.
> >>
> >> These things quickly turn into philosophical discussions but simply
> >> speaking
> >> the difference lies in the expectations of a client. In XML for example,
> >> namespaces are just identifiers. There's no expectation that you can go
> >> and
> >> dereference that namespace identifier (even though in most cases they
> use
> >> HTTP URIs). The same is true about RDF. All URIs are just identifiers.
> >> From
> >> an RDF point of view, there's no difference between isbn:343-224122 and
> >> http://example.com/343-224122. As you say, they are opaque.
> >>
> >> But if you build applications, it is important to distinguish between
> >> identifiers and hyperlinks. A browser for example doesn't render the
> >> string
> >> http://example.com/343-224122 as a clickable link unless you mark it
> up as
> >> one using the <a> tag.
> >>
> >> Linked Data advocates that all URIs are dereferenceable. But that's
> >> communicated out of band. Apart from JSON-LD, which states that URIs
> >> SHOULD
> >> be dereferenceable, no other RDF media type makes such a statement. Thus
> >> you
> >> need to use constructs such as hydra:Link and hydra:Resource to make the
> >> distinction explicit.
> >>
> >> Hope this helps. If not, let me know.
> >>
> >>
> >> --
> >> Markus Lanthaler
> >> @markuslanthaler
> >>
> >>
> >
>

Received on Friday, 22 November 2013 20:12:16 UTC