Re: 200 OK with Content-Location might work

2010-11-06 Thread Ian Davis
On Fri, Nov 5, 2010 at 4:55 PM, Nathan nat...@webr3.org wrote:
 Mike Kelly wrote:

 http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-12#page-14

 snipped and fuller version inserted:

   4.  If the response has a Content-Location header field, and that URI
       is not the same as the effective request URI, then the response
       asserts that its payload is a representation of the resource
       identified by the Content-Location URI.  However, such an
       assertion cannot be trusted unless it can be verified by other
       means (not defined by HTTP).

 If a client wants to make a statement  about the specific document
 then a response that includes a content-location is giving you the
 information necessary to do that correctly. It's complemented and
 further clarified in the entity body itself through something like
 isDescribedBy.

 I stand corrected, think there's something in this, and it could maybe
 possibly provide the semantic indirection needed when Content-Location is
 there, and different to the effective request uri, and complimented by some
 statements (perhaps RDF in the body, or Link header, or html link element)
 to assert the same.

 Covers a few use-cases, might have legs (once HTTP-bis is a standard?).

 Nicely caught Mike!

+1 This is precisely what we need.

Ian



Hash vs Slash in relation to the 303 vs 200 debate (was: Is 303 really necessary - demo)

2010-11-06 Thread Ian Davis
On Fri, Nov 5, 2010 at 5:28 PM, Nathan nat...@webr3.org wrote:
 URI resolution is essentially:

  dereference( uri.toAbsolute() );

 Which gives us the simplicity and semantic indirection which we need. Use
 frags, forget HTTP, know that uri#frag is never going to be a document
 (unless you explicitly say it is).


On a practical level using frags can be inefficient when your linked
data output is backed by a triple store. If you use a slash URI then
generating the data for html/xml/turtle output is just a simple
describe uri. For hash URIs you need to describe all the resources
with a common prefix because the fragment is not sent by the browser
with the request. That might mean a filter with a regex or string
functions which will be more inefficient. If you pick a standard
fragment such as #this, #it etc then you can revert to the simple
describe so the inefficiency only arises when there are multiple
arbitrary fragments per document URI.

The other downside of fragments is you can't say it exists but I have
no description of it. With standard slash URIs you can 303 to a 404
to say that. You can 404 on the slash itself to say the resource does
not exist. With my proposal to use 2xx responses you can return 204 No
Content to indicate the resource exists but no description is
available.

With slashes you can use 410 on an individual resource to indicate
that it has gone forever. You can also do this with the one frag per
doc approach although you are really saying the description document
has gone and the user is left to imply the secondary resource has also
gone. With multiple frags per doc (i.e. a lot of schemas) you can't
say just one of those resources has gone forever.

In summary:

Slash with 303: hard static publishing, efficient dynamic, can ack
existence without description

Hash, one resource per doc: easy static publishing, efficient dynamic,
can't ack existence without description

Hash, many resources per doc (the typical schema case): easy static
publishing, less efficient dynamic, can't ack existence without
description

Slash with 2xx: easy static publishing, efficient dynamic, can ack
existence without description

Ian



Re: 200 OK with Content-Location might work

2010-11-06 Thread Nathan

Ian Davis wrote:

On Fri, Nov 5, 2010 at 4:55 PM, Nathan nat...@webr3.org wrote:

Mike Kelly wrote:

http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-12#page-14

snipped and fuller version inserted:

  4.  If the response has a Content-Location header field, and that URI
  is not the same as the effective request URI, then the response
  asserts that its payload is a representation of the resource
  identified by the Content-Location URI.  However, such an
  assertion cannot be trusted unless it can be verified by other
  means (not defined by HTTP).


If a client wants to make a statement  about the specific document
then a response that includes a content-location is giving you the
information necessary to do that correctly. It's complemented and
further clarified in the entity body itself through something like
isDescribedBy.

I stand corrected, think there's something in this, and it could maybe
possibly provide the semantic indirection needed when Content-Location is
there, and different to the effective request uri, and complimented by some
statements (perhaps RDF in the body, or Link header, or html link element)
to assert the same.

Covers a few use-cases, might have legs (once HTTP-bis is a standard?).

Nicely caught Mike!


+1 This is precisely what we need.


The jury's still you on this one though, see:

  http://markmail.org/message/u4yctkaj2i3pms2o



Extended deadline IUI2011 Workshop: Visual Interfaces to the Social and Semantic Web (VISSW 2011)

2010-11-06 Thread Thai, Vinhtuan
apologies for cross-posting


CALL FOR PAPERS

3rd International Workshop on Visual Interfaces to the Social and Semantic Web 
(VISSW 2011)
In conjunction with the ACM Conference on Intelligent User Interfaces (IUI 2011)
Stanford University, Palo Alto, US
13th February 2011
http://www.smart-ui.org/events/vissw2011/


*** Extended Deadline: 15th November 2010 ***


INTRODUCTION

The continued growth and importance of the Social Web has resulted in ever 
increasing volumes of data created, published and consumed by users. This vast 
amount of data takes many forms, including text, images, video and more 
recently streams of status information from applications such as Facebook and 
Twitter. Not only is this data accessible through more traditional means, such 
as desktop and laptop computers, but also via diverse platforms such as mobile 
devices and set-top boxes that bring unique constraints in terms of computing 
resources, interaction modes and user interfaces. Through the increasing 
availability of Web APIs, data that has traditionally been coupled with a 
specific application may now be exposed through novel interfaces developed by 
third parties, providing functionality not previously anticipated by data 
owners.

In tandem with the growth of the Social Web, the Web at large has experienced a 
significant evolution into a Web not just of linked documents, but also of 
Linked Data. This development, which exploits the Semantic Web technology 
stack, allows relationships to be expressed between items in distributed data 
sets, paving the way for integration of raw data from multiple, heterogeneous 
sources. Coupled with the increasing availability of APIs that expose data from 
the Social Web, application developers have a wealth of data available to them 
upon which they can build compelling visual interfaces. Furthermore, in context 
of recent developments, such as Facebook introducing Open Graph Protocol, 
Twitter enabling tweets with annotations and Google moving into the Semantic 
Web with their acquisition of Metaweb, interactions on the Social and Semantic 
Web are gaining a larger audience.

In this context, the ability to easily integrate vast amounts of data from 
across the Social and Semantic Web raises significant and exciting research 
challenges, not least of which how to provide effective access to and 
navigation across vast, heterogeneous and interconnected data sources. However, 
the need for intelligent and visual human interfaces to this evolving Web is 
not limited simply to the modalities of searching and browsing, important as 
these are. As the Web becomes increasingly populated with data, continues to 
evolve from a read-mainly to a read-write medium, and the level of social 
interaction supported on the Web increases, there is also a pressing need to 
support end-users who engage in a wide range of online tasks, such as 
publishing and sharing their own data on the Web. Exploring different aspects 
of those developments and their implications for visual interface research and 
development is one of the goals of the workshop.

This workshop aims to bring together researchers and practitioners from 
diverse, complementary fields to discuss the latest research results and 
challenges in designing, implementing, and evaluating intelligent interfaces in 
the context of the Social and Semantic Web. The workshop will serve as an 
opportunity for researchers to gain feedback on their work, and to identify 
potential collaborations with their peers. We believe that the potential for 
fostering links between a variety of facets of the IUI community will help to 
ensure an exciting workshop program.

Information about the previous workshops can be found at: 
http://www.smart-ui.org/events/vissw2010/ and 
http://www.smart-ui.org/events/vissw2009/


TOPICS OF INTEREST

Topics of interest include, but are not limited to:


   * Interfaces
 o Novel interfaces for high-volume transient data, e.g. feeds, streams 
and sensors.
 o Novel interfaces supporting discovery of social data and richer 
interactions using Facebook's Open Graph Protocol, Twitter's Annotations for 
tweets, Google's Social Graph etc.
 o 'Living' interfaces to constantly evolving data, vocabularies, and 
emerging links between them.
 o Collaborative interfaces supporting social data analysis.
 o Adaptive user interfaces on the Web.
 o Lightweight components and processes for casual users to 
publish/share their own content on the Web.
 o Task-centric interfaces for structured and/or Linked Data.
 o Novel visualisation of structured, linked and aggregated data, 
originating from multiple sources.
 o Interface components for displaying/interacting with aggregated, 
heterogeneous Linked Data, e.g. components for displaying provenance 
information.
 o Ontology-based visualization of collections of data.


   * Interaction Paradigms
 o Novel 

Re: 200 OK with Content-Location might work

2010-11-06 Thread Kingsley Idehen

On 11/6/10 8:11 AM, Ian Davis wrote:

On Fri, Nov 5, 2010 at 4:55 PM, Nathannat...@webr3.org  wrote:

Mike Kelly wrote:

http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-12#page-14

snipped and fuller version inserted:

   4.  If the response has a Content-Location header field, and that URI
   is not the same as the effective request URI, then the response
   asserts that its payload is a representation of the resource
   identified by the Content-Location URI.  However, such an
   assertion cannot be trusted unless it can be verified by other
   means (not defined by HTTP).


If a client wants to make a statement  about the specific document
then a response that includes a content-location is giving you the
information necessary to do that correctly. It's complemented and
further clarified in the entity body itself through something like
isDescribedBy.

I stand corrected, think there's something in this, and it could maybe
possibly provide the semantic indirection needed when Content-Location is
there, and different to the effective request uri, and complimented by some
statements (perhaps RDF in the body, or Link header, or html link element)
to assert the same.

Covers a few use-cases, might have legs (once HTTP-bis is a standard?).

Nicely caught Mike!

+1 This is precisely what we need.

Ian



All,

So we have arrived at a destination that's mutually inclusive re. 303 
indirection. Basically, an additional technique that uses 
Content-Location as the switch. Nice, simple, clean, and shouldn't break 
a thing, as long as people stop producing old school RDF resources.


In addition, I think we've also triggered a POWDER fix that's been long 
overlooked.


--

Regards,

Kingsley Idehen 
President  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen







Re: 200 OK with Content-Location might work

2010-11-06 Thread Kingsley Idehen

On 11/6/10 9:05 AM, Nathan wrote:

Ian Davis wrote:

On Fri, Nov 5, 2010 at 4:55 PM, Nathan nat...@webr3.org wrote:

Mike Kelly wrote:

http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-12#page-14

snipped and fuller version inserted:

  4.  If the response has a Content-Location header field, and that URI
  is not the same as the effective request URI, then the response
  asserts that its payload is a representation of the resource
  identified by the Content-Location URI.  However, such an
  assertion cannot be trusted unless it can be verified by other
  means (not defined by HTTP).


If a client wants to make a statement  about the specific document
then a response that includes a content-location is giving you the
information necessary to do that correctly. It's complemented and
further clarified in the entity body itself through something like
isDescribedBy.

I stand corrected, think there's something in this, and it could maybe
possibly provide the semantic indirection needed when 
Content-Location is
there, and different to the effective request uri, and complimented 
by some
statements (perhaps RDF in the body, or Link header, or html link 
element)

to assert the same.

Covers a few use-cases, might have legs (once HTTP-bis is a standard?).

Nicely caught Mike!


+1 This is precisely what we need.


The jury's still you on this one though, see:

  http://markmail.org/message/u4yctkaj2i3pms2o



Nathan,

Aren't juries about peers? In this case, aren't the peers those that 
publish and consume Linked Data?


I think practitioners make this call :-)

Leigh: yes, indeed, Linked Data Practitioners :-)

--

Regards,

Kingsley Idehen 
President  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen







Re: 200 OK with Content-Location might work

2010-11-06 Thread Kingsley Idehen

On 11/6/10 12:41 PM, Bill Roberts wrote:

On 6 Nov 2010, at 17:25, Kingsley Idehen wrote:

All,

So we have arrived at a destination that's mutually inclusive re. 303 indirection. 
Basically, an additional technique that uses Content-Location as the switch. Nice, 
simple, clean, and shouldn't break a thing, as long as people stop producing old 
school RDF resources.

In addition, I think we've also triggered a POWDER fix that's been long 
overlooked.


+1.

(just to clarify: what do you mean exactly by old school RDF resources?)




Defining attributes:

1. missing isDefinedby, isDescribedBy, describedBy assertions
2. do not use resolvable URIs (in Subject or Predicate slots) :-)

--

Regards,

Kingsley Idehen 
President  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen







Re: Is 303 really necessary?

2010-11-06 Thread Norman Gray

David, hello.

On 2010 Nov 6, at 20:42, David Booth wrote:

 httpRange-14 requires that a URI with a 200 response MUST be an IR;
 ^^^
 Not quite.  The httpRange-14 decision says that the resource *is* an IR:
 http://lists.w3.org/Archives/Public/www-tag/2005Jun/0039 

Yes, when I phrased this, I did indeed mean it as an analytic-must rather than 
an rfc2119-synthetic-must (this is the distinction you're making, yes?)

 a URI with a 303 MAY be a NIR.
 
 Ian is (effectively) suggesting that a URI with a 200 response MAY
 be an IR, in the sense that it is defeasibly taken to be an IR,
 unless this is contradicted by a self-referring statement within
 the RDF obtained from the URI.
 
 To be clear, Ian's toucan URI *does* identify an information resource,
 whether or not it *also* identifies a toucan:

Indeed, because the decision defines what an IR is, so that Ian's toucan is 
necessarily an IR in the sense in which that term is currently defined.

 Thus, Ian has created an ambiguity by returning a 200 response.

(Ian can of course speak for himself, but...)

I take it that Ian is suggesting resolving the ambiguity he has created, and 
thus the need for any heuristics, by extending the notion of IR in such a way 
that a URI with a 200 response *is* an IR, *unless* dereferencing it returns 
RDF which (authoritatively) declares that the URI is a NIR.

 However, for those applications that need to distinguish between
 the toucan and its web page, Ian is effectively suggesting the
 *heuristic* that if the content served in the 200 response says that the
 URI identifies a toucan, then the app should ignore the fact that the
 URI also identifies a web page, and treat the URI as though it *only*
 identifies the toucan.

The suggestion does mean that the toucan URI, since it now identifies a toucan, 
cannot also identify the toucan's webpage, which is therefore unnamed.  I don't 
know if that's a problem or not (maybe it is, if you want to be able to say I 
got this information about the toucan called /toucan from X).  If it's a 
problem, then perhaps the /toucan URI could point towards a /toucan.rdf URI 
which contains the same RDF as /toucan, but which is still an IR.  Then 
/toucan.rdf is the toucan's webpage.

Best wishes,

Norman


-- 
Norman Gray  :  http://nxg.me.uk




Re: Is 303 really necessary?

2010-11-06 Thread Kingsley Idehen

On 11/6/10 4:42 PM, David Booth wrote:

httpRange-14 requires that a URI with a 200 response MUST be an IR;

  ^^^
Not quite.  The httpRange-14 decision says that the resource *is* an IR:
http://lists.w3.org/Archives/Public/www-tag/2005Jun/0039


  a URI with a 303 MAY be a NIR.

Ian is (effectively) suggesting that a URI with a 200 response MAY
be an IR, in the sense that it is defeasibly taken to be an IR,
unless this is contradicted by a self-referring statement within
the RDF obtained from the URI.

To be clear, Ian's toucan URI *does* identify an information resource,
whether or not it *also* identifies a toucan:

   $ curl -I 'http://iandavis.com/2010/303/toucan'
   HTTP/1.1 200 OK
   Date: Sat, 06 Nov 2010 20:05:57 GMT
   Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 PHP/5.2.4-2ubuntu5.10
with Suhosin-Patch mod_wsgi/1.3 Python/2.5.2
   Content-Location: toucan.rdf
   Vary: negotiate
   TCN: choice
   Last-Modified: Fri, 05 Nov 2010 09:24:27 GMT
   ETag: 264186-403-4944ad745a8c0;4944ad754eb00
   Accept-Ranges: bytes
   Content-Length: 1027
   Content-Type: application/rdf+xml; qs=0.9

Thus, Ian has created an ambiguity by returning a 200 response.  There
is nothing fundamentally wrong with this, as ambiguity of resource
identity is inescapable anyway, and we just have to learn to deal with
it.  However, for those applications that need to distinguish between
the toucan and its web page, Ian is effectively suggesting the
*heuristic* that if the content served in the 200 response says that the
URI identifies a toucan, then the app should ignore the fact that the
URI also identifies a web page, and treat the URI as though it *only*
identifies the toucan.




David,

What about this:

1. a 200 OK response infers that a URI is a URL (an Address) since its 
an indication of that a Resource has been located


2. existence of a self-describing resource discovered via 
Content-Location header value (e.g. touscan.rdf) can result in an 
override if the data states that the URI is a Name.


I really think we have to emphasize the Address and Name aspects of 
a generic URI, at every opportunity. Personally, I think it helps 
understand what the actual ambiguity is about.


This option showcases good RDF dog-fooding, especially as the Semantic 
Web Project has always been about self-describing data :-)


--

Regards,

Kingsley Idehen 
President  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen







POWDER Fix on wdrs:describedby (was Re: 200 OK with Content-Location might work)

2010-11-06 Thread Phil Archer



On 06/11/2010 16:25, Kingsley Idehen wrote:
[snip]


In addition, I think we've also triggered a POWDER fix that's been long
overlooked.


And I'm grateful that it's come to my attention (wish I'd recognised the 
problem a lot earlier :-()


I've made a proposal internally (at W3C) that I want to run past at 
least one or two of the former POWDER WG members to make sure they're 
happy (one in particular). If that goes as hoped then there could be an 
erratum published as soon as Monday (8th) that would be become part of 
an edited Recommendation before long (maybe in the new year).


Bottom line is that wdrs:describedby was intended to be semantically 
identical to @rel describedby, i.e. with no range restriction. Since the 
Recommendation and namespace doc in the their present form are ambiguous 
it's clearly an error so making an entry on the errata page [1] is 
pretty straightforward. Once that's done there'll be a bit of outreach 
work to do on that. Getting the actual Rec edited takes a bit more 
'process' but it's doable. (Fundamental rule about docs published in TR 
space at w3.org is that the bytes don't change. Editing means publishing 
a new version.)


I think the chances of there being an implementation that infers that 
the object of a wdrs:describedby predicate is a wdrs:Document is 
vanishingly small but, on the off chance anyone knows of such an 
implementation, please let me know.


(Incidentally, editing the Rec should also help us get the POWDER MIME 
type registered but that's orthogonal to the current discourse).


Phil

[1] http://www.w3.org/2007/powder/powder-errata

--


Phil Archer
W3C Mobile Web Initiative
http://www.w3.org/Mobile

http://philarcher.org
@philarcher1



Re: wdrs:describedby

2010-11-06 Thread Kingsley Idehen

On 11/5/10 1:41 PM, Phil Archer wrote:
The 303 debate has prompted me to re-look at the definition of 
wdrs:describedby - and it's obvious that the POWDER WG (which I 
chaired), made an error.


I've begun the process of seeking to change the spec so that the range 
restriction on this property will be removed [1]. Therefore, 
wdrs:describedby, like the @rel link, will be able to point to any 
kind of descriptive resource and will not imply that the description 
is provided in POWDER.


I hope, therefore, that there will be no need to define a new property 
of isDefinedBy.


Cheers

Phil.


[1] http://lists.w3.org/Archives/Public/public-powderwg/2010Nov/0002.html



Hopefully not :-)

All the gaps are being plugged, our general narrative is getting clear 
by the second, re. Linked Data, Methinks!


Dogfooding is a great thing re. tech QA.

--

Regards,

Kingsley Idehen 
President  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen







Re: Hash vs Slash in relation to the 303 vs 200 debate (was: Is 303 really necessary - demo)

2010-11-06 Thread Toby Inkster
On Sat, 6 Nov 2010 12:33:34 +
Ian Davis li...@iandavis.com wrote:

 On a practical level using frags can be inefficient when your linked
 data output is backed by a triple store. If you use a slash URI then
 generating the data for html/xml/turtle output is just a simple
 describe uri. For hash URIs you need to describe all the resources
 with a common prefix because the fragment is not sent by the browser
 with the request. That might mean a filter with a regex or string
 functions which will be more inefficient.

Not necessarily. If you take your ex:isDescribedBy predicate and add
that to a triple store where the non-Information-Resource resources are
identified using hash URIs, then the SPARQL query is just:

DESCRIBE uri ?res
WHERE { ?res ex:isDescribedBy uri . }

which needn't be very slow.

 The other downside of fragments is you can't say it exists but I have
 no description of it.

#foo a rdfs:Resource .

-- 
Toby A Inkster
mailto:m...@tobyinkster.co.uk
http://tobyinkster.co.uk




Fw: [foaf-dev] EON - event of note

2010-11-06 Thread Toby Inkster
Begin forwarded message...

Date: Thu, 4 Nov 2010 00:32:50 +
From: Toby Inkster t...@g5n.co.uk
To: foaf-dev foaf-...@lists.foaf-project.org
Subject: [foaf-dev] EON - event of note

Let's do a bit of collaborative work to flesh out a FOAF-like
lightweight vocabulary for describing events, suitable for embedding in
RDFa to describe concerts, conferences, birthdays, anniversaries,
national holidays and so on.

Sure, we have the iCalendar RDF vocab, but I've come to the conclusion
that that's more suited to representing calendar entries - not the
events themselves.

I'm thinking of a simple set of extensions for Yves Raimond's Event
Ontology.

Let's kickstart this with the class eon:Event which would be a trivial
subclass of http://purl.org/NET/c4dm/event.owl#Event.

Here's a sketch of how an event might look in Turtle:

#this
a eon:Event ;
foaf:name Lewes Bonfire ;
foaf:page http://www.lewesbonfirecouncil.org.uk/ ;
eon:date 2010-11-05^^xsd:date ;
eon:location [
foaf:name Lewes ;
foaf:page wikipedia:Lewes
] .

Properties that I think should be included:

* eon:start and eon:end - which can be xsd:dateTime or xsd:date (if the
  latter, then the event starts/ends at an unspecified time on that day)

* eon:date - a subproperty of both eon:start and eon:end with range
  xsd:date.

* eon:location - range geo:SpatialThing

Probably need an attendee property and an organizer/participant
property. Maybe eon:cost, eon:details, eon:bookings.

I've placed a sketch on my data wiki http://wiki.ontologi.es/. Feel
free to edit; and add yourself as a foaf:maker if you do!

-- 
Toby A Inkster
mailto:m...@tobyinkster.co.uk
http://tobyinkster.co.uk