Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On Tue, 9 Nov 2010 17:04:44 -0500 (EST) joel sachs jsa...@csee.umbc.edu wrote: I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. But: Kingsley film:isStarOf #SexyBeast . Kingsley film:isStarOf #Ghandi . is no more ambiguous than: #SexyBeast film:star Kingsley . #Ghandi film:star Kingsley . And what exactly is ambiguous about the following example? 2010-11-10^^xsd:date d:precedes 2010-11-11^^xsd:date . Whether an identifier is ambiguous and whether it's a literal are two mostly orthogonal issues. -- Toby A Inkster mailto:m...@tobyinkster.co.uk http://tobyinkster.co.uk
RE: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Ian said: I used Denny Vrandečić's browser tool to test several Linked Data browsers including Tabulator. http://browse.semanticweb.org/?uri=http%3A%2F%2Fiandavis.com%2F2010 %2F303%2Ftoucandays=7 Non of these showed any confusion between the toucan and its description, nor did that throw warnings or errors about the lack of 303 or in fact make any reference to it (tabulator includes the response as RDF but does not infer that the 200 response implies a type of information resource, which I had assumed it would) Looking at the Tabulator view here http://dig.csail.mit.edu/2005/ajar/release/tabulator/0.8/tab?uri=http%3A%2F%2Fiandavis.com%2F2010%2F303%2Ftoucan I did notice that the Tabulator generates the two triples: http://iandavis.com/2010/303/toucan http://dig.csail.mit.edu/2005/ajar/ajaw/ont#mentionsClass http://xmlns.com/foaf/0.1/Document . http://iandavis.com/2010/303/toucan http://dig.csail.mit.edu/2005/ajar/ajaw/ont#mentionsClass http://dbpedia.org/resource/Ramphastidae . Which leads me to wonder whether either you have a very erudite toucan there, or Tabulator may be exhibiting some element of confusion? Though, yes, the mentionsClass property has domain rdfs:Resource (rather than some:Document), so there is no inference that the toucan is-a document, though I do note the human-readable rdfs:comment for that property says This document mentions the following class Pete --- Pete Johnston Technical Researcher Eduserv E: pete.johns...@eduserv.org.uk T: +44 (0)1225 474323 F: +44 (0)1225 474301 http://www.eduserv.org.uk/ http://efoundations.typepad.com/ Eduserv is a company limited by guarantee (registered in England Wales, company number: 3763109) and a charity (charity number 1079456), whose registered office is at Royal Mead, Railway Place, Bath, BA1 1SR.
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On Tue, Nov 9, 2010 at 11:23 AM, Nathan nat...@webr3.org wrote: Pete Johnston wrote: This document mentions the following class It's all very simple really, when you remove all the conflated terms. I am not conflating terms and nor is my example, but I think you are (see below) What is this: ?xml version=1.0? rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns:foaf=http://xmlns.com/foaf/0.1/; xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#; xmlns:wdrs=http://www.w3.org/2007/05/powder-s#; xmlns:dbp=http://dbpedia.org/resource/; dbp:Toucan rdf:about=http://iandavis.com/2010/303/toucan; rdfs:labelA Toucan/rdfs:label foaf:depiction rdf:resource=http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Pteroglossus-torquatus-001.jpg/250px-Pteroglossus-torquatus-001.jpg; / rdfs:commentThis resource is an individual toucan that happens to live in southern mexico./rdfs:comment wdrs:describedby rdf:resource=http://iandavis.com/2010/303/toucan.rdf/ /dbp:Toucan foaf:Document rdf:about=http://iandavis.com/2010/303/toucan.rdf; rdfs:labelA Description of a Toucan/rdfs:label rdfs:commentThis document is a description of the toucan resource./rdfs:comment /foaf:Document /rdf:RDF http://iandavis.com/2010/303/toucan is simply another name for whatever the above is. Nope. It's not at all. That text you include is the entity sent when you issue a GET to the URI. Entity bodies aren't usually named on the web. It's also a representation of http://iandavis.com/2010/303/toucan.rdf You are conflating the resource with the content of an HTTP message sent to your computer. You could interpret the tabulator property as meaning the entity returned when you perform a GET on the URI contains the following class Hints: - it's not a resource It has a URI http://iandavis.com/2010/303/toucan.rdf, anything identified by a URI is a resource. - it's not a document I think it is - it's not an rdf document I think it is - it's not a toucan Agree. That text is not a toucan. Best, Nathan Ian
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Pete Johnston wrote: This document mentions the following class It's all very simple really, when you remove all the conflated terms. What is this: ?xml version=1.0? rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns:foaf=http://xmlns.com/foaf/0.1/; xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#; xmlns:wdrs=http://www.w3.org/2007/05/powder-s#; xmlns:dbp=http://dbpedia.org/resource/; dbp:Toucan rdf:about=http://iandavis.com/2010/303/toucan; rdfs:labelA Toucan/rdfs:label foaf:depiction rdf:resource=http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Pteroglossus-torquatus-001.jpg/250px-Pteroglossus-torquatus-001.jpg; / rdfs:commentThis resource is an individual toucan that happens to live in southern mexico./rdfs:comment wdrs:describedby rdf:resource=http://iandavis.com/2010/303/toucan.rdf/ /dbp:Toucan foaf:Document rdf:about=http://iandavis.com/2010/303/toucan.rdf; rdfs:labelA Description of a Toucan/rdfs:label rdfs:commentThis document is a description of the toucan resource./rdfs:comment /foaf:Document /rdf:RDF http://iandavis.com/2010/303/toucan is simply another name for whatever the above is. Hints: - it's not a resource - it's not a document - it's not an rdf document - it's not a toucan Best, Nathan
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/9/10 6:57 AM, Ian Davis wrote: On Tue, Nov 9, 2010 at 11:23 AM, Nathannat...@webr3.org wrote: Pete Johnston wrote: This document mentions the following class It's all very simple really, when you remove all the conflated terms. I am not conflating terms and nor is my example, but I think you are (see below) What is this: ?xml version=1.0? rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns:foaf=http://xmlns.com/foaf/0.1/; xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#; xmlns:wdrs=http://www.w3.org/2007/05/powder-s#; xmlns:dbp=http://dbpedia.org/resource/; dbp:Toucan rdf:about=http://iandavis.com/2010/303/toucan; rdfs:labelA Toucan/rdfs:label foaf:depiction rdf:resource=http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Pteroglossus-torquatus-001.jpg/250px-Pteroglossus-torquatus-001.jpg; / rdfs:commentThis resource is an individual toucan that happens to live in southern mexico./rdfs:comment wdrs:describedby rdf:resource=http://iandavis.com/2010/303/toucan.rdf/ /dbp:Toucan foaf:Document rdf:about=http://iandavis.com/2010/303/toucan.rdf; rdfs:labelA Description of a Toucan/rdfs:label rdfs:commentThis document is a description of the toucan resource./rdfs:comment /foaf:Document /rdf:RDF http://iandavis.com/2010/303/toucan is simply another name for whatever the above is. Nope. It's not at all. That text you include is the entity sent when you issue a GET to the URI. Entity bodies aren't usually named on the web. It's also a representation of http://iandavis.com/2010/303/toucan.rdf You are conflating the resource with the content of an HTTP message sent to your computer. You could interpret the tabulator property as meaning the entity returned when you perform a GET on the URI contains the following class Hints: - it's not a resource It has a URI http://iandavis.com/2010/303/toucan.rdf, anything identified by a URI is a resource. Yes, in Resource Conflation lingo. No, in reality. A URI is an Identifier. Remember it stands for: Uniform Resource Identifier. It should actually be: Universal Object Identifier or Universal Entity Identifier or Uniform Object Identifier or Uniform Entity Identifier. URIs Identify Entities or Things. They can identify anything we can imagine. A Resource is a kind of Thing that has physical manifestation in a specific realm. Yes, we are Resources, Documents, Widgets, but not in the Web Realm. You are conflating because Web != Real World. Thus, saying everything is a Resource, when the rest of the world knows that everything is an Entity or Thing or Object is conflation that leads to utter incomprehension. How do you think Object based systems work? How do you think Object Oriented Database work? How do you think Object Relational Databases work? How do you think Relational Databases work? How do computers work? Is an Address the only way we use a Pointer? Do you seriously think that the ubiquity of an HTTP network, where physical resources represent Documents (e.g. HTML, RDF, XML etc..), warrants such overreach and disregard for the past re. computer technology continuum? Resource conflation days are numbered. Its usage and acceptence is inherently inversely related to Linked Data concept comprehension. Remember my statement above. Same applies to RDF = Linked Data, conflation. - it's not a document I think it is It cannot be! It resolves to a Document. Without Documents how can one perceive anything across any medium? - it's not an rdf document I think it is It resolves to a Document Type where the Content is expressed in on of the RDF markup syntaxes. - it's not a toucan Agree. That text is not a toucan. Yes, but for a different reason. The Toucan is the Referent of the URI. This is how its always been, if it wasn't you wouldn't be reading this mail via a computer system that uses pointers to create references that enables us walk data structures, programmatically. Kingsley Best, Nathan Ian -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Kingsley Idehen wrote: On 11/9/10 6:57 AM, Ian Davis wrote: On Tue, Nov 9, 2010 at 11:23 AM, Nathannat...@webr3.org wrote: Pete Johnston wrote: This document mentions the following class It's all very simple really, when you remove all the conflated terms. it's a description. I am not conflating terms and nor is my example, but I think you are (see below) What is this: ?xml version=1.0? rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns:foaf=http://xmlns.com/foaf/0.1/; xmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#; xmlns:wdrs=http://www.w3.org/2007/05/powder-s#; xmlns:dbp=http://dbpedia.org/resource/; dbp:Toucan rdf:about=http://iandavis.com/2010/303/toucan; rdfs:labelA Toucan/rdfs:label foaf:depiction rdf:resource=http://upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Pteroglossus-torquatus-001.jpg/250px-Pteroglossus-torquatus-001.jpg; / rdfs:commentThis resource is an individual toucan that happens to live in southern mexico./rdfs:comment wdrs:describedby rdf:resource=http://iandavis.com/2010/303/toucan.rdf/ /dbp:Toucan foaf:Document rdf:about=http://iandavis.com/2010/303/toucan.rdf; rdfs:labelA Description of a Toucan/rdfs:label rdfs:commentThis document is a description of the toucan resource./rdfs:comment /foaf:Document /rdf:RDF http://iandavis.com/2010/303/toucan is simply another name for whatever the above is. Nope. It's not at all. That text you include is the entity sent when you issue a GET to the URI. Entity bodies aren't usually named on the web. It's also a representation of http://iandavis.com/2010/303/toucan.rdf You are conflating the resource with the content of an HTTP message sent to your computer. You could interpret the tabulator property as meaning the entity returned when you perform a GET on the URI contains the following class Hints: - it's not a resource It has a URI http://iandavis.com/2010/303/toucan.rdf, anything identified by a URI is a resource. Yes, in Resource Conflation lingo. No, in reality. A URI is an Identifier. Remember it stands for: Uniform Resource Identifier. It should actually be: Universal Object Identifier or Universal Entity Identifier or Uniform Object Identifier or Uniform Entity Identifier. URIs Identify Entities or Things. They can identify anything we can imagine. A Resource is a kind of Thing that has physical manifestation in a specific realm. Yes, we are Resources, Documents, Widgets, but not in the Web Realm. You are conflating because Web != Real World. Thus, saying everything is a Resource, when the rest of the world knows that everything is an Entity or Thing or Object is conflation that leads to utter incomprehension. How do you think Object based systems work? How do you think Object Oriented Database work? How do you think Object Relational Databases work? How do you think Relational Databases work? How do computers work? Is an Address the only way we use a Pointer? Do you seriously think that the ubiquity of an HTTP network, where physical resources represent Documents (e.g. HTML, RDF, XML etc..), warrants such overreach and disregard for the past re. computer technology continuum? Resource conflation days are numbered. Its usage and acceptence is inherently inversely related to Linked Data concept comprehension. Remember my statement above. Same applies to RDF = Linked Data, conflation. - it's not a document I think it is It cannot be! It resolves to a Document. Without Documents how can one perceive anything across any medium? - it's not an rdf document I think it is It resolves to a Document Type where the Content is expressed in on of the RDF markup syntaxes. - it's not a toucan Agree. That text is not a toucan. Yes, but for a different reason. The Toucan is the Referent of the URI. This is how its always been, if it wasn't you wouldn't be reading this mail via a computer system that uses pointers to create references that enables us walk data structures, programmatically. Kingsley Best, Nathan Ian
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/9/10 11:22 AM, Nathan wrote: Kingsley Idehen wrote: On 11/9/10 11:10 AM, Kingsley Idehen wrote: A URI is just an Identifier. We can Describe what isn't unambiguously Identified (Named); hence the use of Names since the beginning of shared cognition era re. human evolution. A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); hence the use of Names since the beginning of shared cognition era re. human evolution. ex:about#toucan doesn't name a toucan though, it names, or refers to, toucan, as described by ex:about Yes, it refers to Toucan by .. ? Put differently, Toucan (a Thing observed by the Describer) is the Referent of the Identifier (URI). Thus, the URI is used to distinguish the Subject (Tucan) from the surface (Document) from which we perceive its Description. Referent, Identifier, Resource trinity :-) The 3 elements (in combination) deliver comprehensible Representation, to a given beholder. -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/9/10 10:54 AM, Nathan wrote: Kingsley Idehen wrote: On 11/9/10 6:57 AM, Ian Davis wrote: On Tue, Nov 9, 2010 at 11:23 AM, Nathannat...@webr3.org wrote: Pete Johnston wrote: This document mentions the following class It's all very simple really, when you remove all the conflated terms. it's a description. Yes! We are describing observations. Can't do this in thin air, must have a projection surface, hence the need for Documents. You see, the whole Web of Data vs. Web of Documents is yet another false dichotomy. The Web is simply evolving its projection media from HTML documents (sorta like blank paper on to which you can scribble) to more Structured Documents (sorta like graph paper, what the spreadsheet kinda models). This new Document type is like graph paper, also like a spreadsheet (supports Name and Address reference values in cells), but with a 3-column restriction and unlimited rows. HTTP lets us stream this powerful 3 column based graph paper document. The underlying conceptual schema (EAV) allows multiple representations (HTML+RDFa, RDF/XML, OData+Atom, OData+JSON, RDF-JSON, GData etc) of the conceptual schema's model semantics. We are using a graph paper like surface to hold the descriptions of our observations. We can use a myriad of syntaxes to achieve this goal as long as said syntaxes are based on a common conceptual schema. Mapping an RDBMS to an RDF syntax isn't some new age magic, it's possible because there is a common conceptual schema at the base re. a DBMS based Relational Property Graphs vs its relative based on Relational Tables. HTTP 200 OK means: Document Found. Content-Type means: Document Content is in a given format. Content-Location means: Document Location. A URI is just an Identifier. We can Describe what isn't unambiguously Identified (Named); hence the use of Names since the beginning of shared cognition era re. human evolution. -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/9/10 11:10 AM, Kingsley Idehen wrote: A URI is just an Identifier. We can Describe what isn't unambiguously Identified (Named); hence the use of Names since the beginning of shared cognition era re. human evolution. A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); hence the use of Names since the beginning of shared cognition era re. human evolution. -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On Tue, 9 Nov 2010, Kingsley Idehen wrote: On 11/9/10 11:10 AM, Kingsley Idehen wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Those opposed: But you might be misunderstood. Those in favour: We'll take our chances. ? Joel. hence the use of Names since the beginning of shared cognition era re. human evolution. -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/9/10 5:04 PM, joel sachs wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Joel, Let me be a little clearer re. my statement: We can't produce high-fidelity descriptions of Things (Entities) if the description Subjects aren't unambiguously Identified. I believe, via Linked Data, we are seeking to produce high-fidelity Linked Data meshes that scale. English is but one of several syntaxes. Global scale is an integral goal of the mission, Methinks. -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
joel sachs wrote: On 11/9/10 11:10 AM, Kingsley Idehen wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Those opposed: But you might be misunderstood. Those in favour: We'll take our chances. ? Perhaps you are both correct, I believe what Kingsley is getting at, is that in order to refer to the description of something (thus something described), you need to have an unambiguous name (identifier for the purpose of referencing) to use as the subject in statements made about that thing, within the description ( read as, a way of referring to a description of bar within a description named foo = bar, as described by foo = foo#bar ) - Not that foo#bar must be an unambiguous name for a thing in the IFP sense - rather an unambiguous way to say, on the web, the thing I am describing is the same thing bar, as described by foo. And perhaps what you are saying, is the same thing Kingsley, as described by Ghandi and Sexy Beast, was great = ghandi-sexy-beast#kingsley And, perhaps: Those opposed: We'll take our chances. Those in favour: But you might be misunderstood. Best, Nathan
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Kingsley, I'm not sure that you're joking, so I'll answer: It's unambiguous to those who know that Ben Kingsley was in Gandhi and Sexy Beast. It's probably close to unambiguous to those who know that Ben Kingsley is an actor, and Gandhi and Sexy Beast are movies. To everyone else, it's probably ambiguous, which is my point. Joel. On Tue, 9 Nov 2010, Kingsley Idehen wrote: On 11/9/10 5:04 PM, joel sachs wrote: On Tue, 9 Nov 2010, Kingsley Idehen wrote: On 11/9/10 11:10 AM, Kingsley Idehen wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. To whom is this unambiguous? Kingsley Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Those opposed: But you might be misunderstood. Those in favour: We'll take our chances. ? Joel. hence the use of Names since the beginning of shared cognition era re. human evolution. -- Regards, Kingsley IdehenPresident CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
I guess what surprises me is your use of can't in We can't produce ... instead of shouldn't, as in We shouldn't produce high fidelity descriptions of things that aren't unambiguosly identified, because if we do, there will be no reliable way to merge descriptions from different sources. I think it's obvious that we can since we do it all the time. That we shouldn't may be true, although it is, I think you'll agree, a contested claim. Joel. On Tue, 9 Nov 2010, Kingsley Idehen wrote: On 11/9/10 5:04 PM, joel sachs wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Joel, Let me be a little clearer re. my statement: We can't produce high-fidelity descriptions of Things (Entities) if the description Subjects aren't unambiguously Identified. I believe, via Linked Data, we are seeking to produce high-fidelity Linked Data meshes that scale. English is but one of several syntaxes. Global scale is an integral goal of the mission, Methinks. -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On Tue, 9 Nov 2010, Nathan wrote: joel sachs wrote: On 11/9/10 11:10 AM, Kingsley Idehen wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Those opposed: But you might be misunderstood. Those in favour: We'll take our chances. ? Perhaps you are both correct, I believe what Kingsley is getting at, is that in order to refer to the description of something (thus something described), you need to have an unambiguous name (identifier for the purpose of referencing) to use as the subject in statements made about that thing, within the description ( read as, a way of referring to a description of bar within a description named foo = bar, as described by foo = foo#bar ) - Not that foo#bar must be an unambiguous name for a thing in the IFP sense - rather an unambiguous way to say, on the web, the thing I am describing is the same thing bar, as described by foo. And perhaps what you are saying, is the same thing Kingsley, as described by Ghandi and Sexy Beast, was great = ghandi-sexy-beast#kingsley And, perhaps: Those opposed: We'll take our chances. Those in favour: But you might be misunderstood. Best, Nathan Nathan, Nathan, I definitely agree with your switcharoo - Those opposed: We'll take our chances. Those in favour: But you might be misunderstood. Specifically, as it stands now, there is great scope for misunderstanding when dealing with Linked Data. Perhaps the most egregious example is the widely discredited owl:sameAs. The hope, I think, of Linked Data, is that, as time goes by, the scope for misunderstanding will be greatly diminished. Regards - Joel.
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/9/10 5:59 PM, joel sachs wrote: Kingsley, I'm not sure that you're joking, so I'll answer: It's unambiguous to those who know that Ben Kingsley was in Gandhi and Sexy Beast. It's probably close to unambiguous to those who know that Ben Kingsley is an actor, and Gandhi and Sexy Beast are movies. To everyone else, it's probably ambiguous, which is my point. Yes, in the real-world. On the Web it's totally ambiguous :-) Kingsley Joel. On Tue, 9 Nov 2010, Kingsley Idehen wrote: On 11/9/10 5:04 PM, joel sachs wrote: On Tue, 9 Nov 2010, Kingsley Idehen wrote: On 11/9/10 11:10 AM, Kingsley Idehen wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. To whom is this unambiguous? Kingsley Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Those opposed: But you might be misunderstood. Those in favour: We'll take our chances. ? Joel. hence the use of Names since the beginning of shared cognition era re. human evolution. -- Regards, Kingsley IdehenPresident CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen -- Regards, Kingsley IdehenPresident CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/9/10 6:01 PM, joel sachs wrote: I guess what surprises me is your use of can't in We can't produce ... instead of shouldn't, as in We shouldn't produce high fidelity descriptions of things that aren't unambiguosly identified, because if we do, there will be no reliable way to merge descriptions from different sources. I think it's obvious that we can since we do it all the time. That we shouldn't may be true, although it is, I think you'll agree, a contested claim. Naturally, of course. Just my opinion. Everything I say is inherently subjective :-) Kingsley Joel. On Tue, 9 Nov 2010, Kingsley Idehen wrote: On 11/9/10 5:04 PM, joel sachs wrote: A URI is just an Identifier. We can't Describe what isn't unambiguously Identified (Named); Kingsley, I think we can, though we might not be properly understood, e.g. Kingsley was great in Gandhi and Sexy Beast. Wasn't this part of the summer's argument regarding literals as rdf:subjects , i.e. Joel, Let me be a little clearer re. my statement: We can't produce high-fidelity descriptions of Things (Entities) if the description Subjects aren't unambiguously Identified. I believe, via Linked Data, we are seeking to produce high-fidelity Linked Data meshes that scale. English is but one of several syntaxes. Global scale is an integral goal of the mission, Methinks. -- Regards, Kingsley IdehenPresident CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On Fri, Nov 5, 2010 at 9:53 AM, Leigh Dodds leigh.do...@talis.com wrote: So here's a couple of questions for those of you on the list who have implemented Linked Data tools, applications, services, etc: * Do you rely on or require HTTP 303 redirects in your application? Or does your app just follow the redirect? * Would your application tool/service/etc break or generic inaccurate data if Ian's pattern was used to publish Linked Data. I used Denny Vrandečić's browser tool to test several Linked Data browsers including Tabulator. http://browse.semanticweb.org/?uri=http%3A%2F%2Fiandavis.com%2F2010%2F303%2Ftoucandays=7 Non of these showed any confusion between the toucan and its description, nor did that throw warnings or errors about the lack of 303 or in fact make any reference to it (tabulator includes the response as RDF but does not infer that the 200 response implies a type of information resource, which I had assumed it would) Cheers, Ian
What would break, a question for implementors? (was Re: Is 303 really necessary?)
Hi Michael, On 5 November 2010 09:29, Michael Hausenblas michael.hausenb...@deri.org wrote: It occurs to me that one of the main features of the Linked Data community is that we *do* things rather than having endless conversations what would be the best for the world out there. Heck, this is how the whole thing started. A couple of people defining a set of good practices and providing data following these practices and tools for it. Concluding. If you are serious about this, please go ahead. You have a very popular and powerful platform at your hand. Implement it there (and in your libraries, such as Moriarty), document it, and others may/will follow. Yes, actually doing things does help more than talking. I sometimes wonder whether as a community we're doing all the right things, but that's another discussion ;) Your suggestion about forging ahead is a good one, but it also reminds me of Ian's original question: what would break if we used this pattern? So here's a couple of questions for those of you on the list who have implemented Linked Data tools, applications, services, etc: * Do you rely on or require HTTP 303 redirects in your application? Or does your app just follow the redirect? * Would your application tool/service/etc break or generic inaccurate data if Ian's pattern was used to publish Linked Data. Cheers, L. -- Leigh Dodds Programme Manager, Talis Platform Talis leigh.do...@talis.com http://www.talis.com
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
So here's a couple of questions for those of you on the list who have implemented Linked Data tools, applications, services, etc: * Do you rely on or require HTTP 303 redirects in your application? Or does your app just follow the redirect? For sindice - no we do not rely on or require them, merely follow. * Would your application tool/service/etc break or generic inaccurate data if Ian's pattern was used to publish Linked Data. It wouldn't break sindice. However... with regard to publishing ontologies, we could expect additional overhead if same content is delivered on retrieving different Resources for example http://example.com/schema/latitude and http://example.com/schema/longitude . In such a case ETag could be used to suggest the contents are identical, but not sure that is a practical solution. I expect that without 303 it will be more difficult in particular to publish and process ontologies. Rob. -- Robert Fuller Research Associate Sindice Team DERI, Galway http://sindice.com/
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Robert Fuller wrote: However... with regard to publishing ontologies, we could expect additional overhead if same content is delivered on retrieving different Resources for example http://example.com/schema/latitude and http://example.com/schema/longitude . In such a case ETag could be used to suggest the contents are identical, but not sure that is a practical solution. I expect that without 303 it will be more difficult in particular to publish and process ontologies. Good point which needs discussed more, for instance FOAF returning 200 OK's would be a real PITA and even worse than the 303 pattern, 3**s are definitely advisable in this case. ps: introducing some form of ETag equality wouldn't be the best idea, it may be possible to use Content-Location and ETag together to cache and save doing the second request after a 303 though. Best, Nathan
RE: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Hi Nathan I'm not saying you're wrong - but could you explain why it would be a pain for FOAF terms to return 200? Which kinds of application are dereferencing those terms and relying on a 303 response? eg http://xmlns.com/foaf/0.1/Person currently 303s to http://xmlns.com/foaf/spec/ What would break if http://xmlns.com/foaf/0.1/Person returned that same content with a status code of 200? Just trying to understand the issue Bill -Original Message- From: public-lod-requ...@w3.org on behalf of Nathan Sent: Fri 11/5/2010 12:45 PM To: Robert Fuller Cc: Leigh Dodds; Michael Hausenblas; Ian Davis; Linked Data community Subject: Re: What would break, a question for implementors? (was Re: Is 303 really necessary?) Robert Fuller wrote: However... with regard to publishing ontologies, we could expect additional overhead if same content is delivered on retrieving different Resources for example http://example.com/schema/latitude and http://example.com/schema/longitude . In such a case ETag could be used to suggest the contents are identical, but not sure that is a practical solution. I expect that without 303 it will be more difficult in particular to publish and process ontologies. Good point which needs discussed more, for instance FOAF returning 200 OK's would be a real PITA and even worse than the 303 pattern, 3**s are definitely advisable in this case. ps: introducing some form of ETag equality wouldn't be the best idea, it may be possible to use Content-Location and ETag together to cache and save doing the second request after a 303 though. Best, Nathan
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
bill.robe...@planet.nl wrote: Hi Nathan I'm not saying you're wrong - but could you explain why it would be a pain for FOAF terms to return 200? Which kinds of application are dereferencing those terms and relying on a 303 response? eg http://xmlns.com/foaf/0.1/Person currently 303s to http://xmlns.com/foaf/spec/ What would break if http://xmlns.com/foaf/0.1/Person returned that same content with a status code of 200? Just trying to understand the issue Hi Bill, Good question :) If you consider a basic linked data client, with a basic ontology/schema awareness, for instance one which shows peoples FOAF profiles and uses the nice rdfs:label's for properties rather than foaf:Person. It's going to have to GET the ontology, now when it cycles through the properties it'll find http://xmlns.com/foaf/0.1/Person and GET it, then hopefully cache it against the URL specified in the [content?] location of the final request (be that 1 or many requests). When you 200 OK the response then the ontology will be stored against http://xmlns.com/foaf/0.1/Person so when you hit http://xmlns.com/foaf/0.1/knows you need to do another GET, and be returned a full ontology again, thus you end up with 40+ requests with full responses and 40+ cached versions of the single ontology. Unless you code around it in some way, make a provision for FOAF. However, if you use 303's the then first GET redirects there, then you store the ontology against the redirected-to URI, you still have to do 40+ GETs but each one is fast with no response-body (ontology sent down the wire) then the next request for the 303'd to URI comes right out of the cache. It's still 40+ requests unless you code around it in some way, but it's better than 40+ requests and 40+ copies of the single ontology. The above, together with the deployment for FOAF is a v good reason *not* to use slash URIs for ontologies - ask Dan Bri about the FOAF rewrite rules for a second opinion on that :p Hope that explains, Best, Nathan
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Hi Robert, Thanks for the response, good to hear from an implementor. On 5 November 2010 10:41, Robert Fuller robert.ful...@deri.org wrote: ... However... with regard to publishing ontologies, we could expect additional overhead if same content is delivered on retrieving different Resources for example http://example.com/schema/latitude and http://example.com/schema/longitude . In such a case ETag could be used to suggest the contents are identical, but not sure that is a practical solution. I expect that without 303 it will be more difficult in particular to publish and process ontologies. This is useful to know thanks. I don't think the ETag approach works as it's intended to version a specific resource, not be carried across resources. One way to avoid the overhead is to strongly recommend # URIs for vocabularies. This seems to be increasingly the norm. It also makes them easier to work with (you often want the whole document) L. -- Leigh Dodds Programme Manager, Talis Platform Talis leigh.do...@talis.com http://www.talis.com
RE: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Hi Nathan - thanks for clear answer. I see the point and also the argument for using hash URIs with ontologies. In practice how I get round this prob is to preload my triple store with the handful of common ontologies I know I'm going to use, so don't need to deref them as I go along. Cheers Bill -Original Message- From: Nathan [mailto:nat...@webr3.org] Sent: Fri 11/5/2010 1:12 PM To: bill.robe...@planet.nl Cc: public-lod@w3.org; Dan Brickley Subject: Re: What would break, a question for implementors? (was Re: Is 303 really necessary?) bill.robe...@planet.nl wrote: Hi Nathan I'm not saying you're wrong - but could you explain why it would be a pain for FOAF terms to return 200? Which kinds of application are dereferencing those terms and relying on a 303 response? eg http://xmlns.com/foaf/0.1/Person currently 303s to http://xmlns.com/foaf/spec/ What would break if http://xmlns.com/foaf/0.1/Person returned that same content with a status code of 200? Just trying to understand the issue Hi Bill, Good question :) If you consider a basic linked data client, with a basic ontology/schema awareness, for instance one which shows peoples FOAF profiles and uses the nice rdfs:label's for properties rather than foaf:Person. It's going to have to GET the ontology, now when it cycles through the properties it'll find http://xmlns.com/foaf/0.1/Person and GET it, then hopefully cache it against the URL specified in the [content?] location of the final request (be that 1 or many requests). When you 200 OK the response then the ontology will be stored against http://xmlns.com/foaf/0.1/Person so when you hit http://xmlns.com/foaf/0.1/knows you need to do another GET, and be returned a full ontology again, thus you end up with 40+ requests with full responses and 40+ cached versions of the single ontology. Unless you code around it in some way, make a provision for FOAF. However, if you use 303's the then first GET redirects there, then you store the ontology against the redirected-to URI, you still have to do 40+ GETs but each one is fast with no response-body (ontology sent down the wire) then the next request for the 303'd to URI comes right out of the cache. It's still 40+ requests unless you code around it in some way, but it's better than 40+ requests and 40+ copies of the single ontology. The above, together with the deployment for FOAF is a v good reason *not* to use slash URIs for ontologies - ask Dan Bri about the FOAF rewrite rules for a second opinion on that :p Hope that explains, Best, Nathan
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
bill.robe...@planet.nl wrote: Hi Nathan - thanks for clear answer. I see the point and also the argument for using hash URIs with ontologies. Most welcome, and glad it helped :) In practice how I get round this prob is to preload my triple store with the handful of common ontologies I know I'm going to use, so don't need to deref them as I go along. Snap, however the big caveat is that as soon as I followed the paradigm a bit further and hit client side applications which use the web as a data tier (read write web of linked data) where typically you just leverage HTTP caching, and where a triple store isn't particularly ideal (or even needed) the importance of these things became somewhat more noticeable. I have to say, that if I hadn't taken this move, then I probably wouldn't be quite as passionate as I am about these things. Linked Data should (must?) be HTTP friendly, and slash URIs for both ontologies and data are most definitely not, even to deal with foaf with the current 303's you need to hard code rules around it, or embed the ontology in your application (in js code!). Give it some time and I'm sure it won't just be a handful of us shouting OMG that was a mistake and a half. Best, Nathan
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On Fri, Nov 5, 2010 at 12:12 PM, Nathan nat...@webr3.org wrote: However, if you use 303's the then first GET redirects there, then you store the ontology against the redirected-to URI, you still have to do 40+ GETs but each one is fast with no response-body (ontology sent down the wire) then the next request for the 303'd to URI comes right out of the cache. It's still 40+ requests unless you code around it in some way, but it's better than 40+ requests and 40+ copies of the single ontology. But in practice, don't you look in your cache first? If you already have a label for foaf:knows because you looked up foaf:mbox a few seconds ago why would you issue another request? Ian
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 05/11/10 15:06, Ian Davis wrote: On Fri, Nov 5, 2010 at 12:12 PM, Nathannat...@webr3.org wrote: However, if you use 303's the then first GET redirects there, then you store the ontology against the redirected-to URI, you still have to do 40+ GETs but each one is fast with no response-body (ontology sent down the wire) then the next request for the 303'd to URI comes right out of the cache. It's still 40+ requests unless you code around it in some way, but it's better than 40+ requests and 40+ copies of the single ontology. But in practice, don't you look in your cache first? If you already have a label for foaf:knows because you looked up foaf:mbox a few seconds ago why would you issue another request? Sindice would, because Fred could also define a label for foaf:knows in the flintstone schema. The Sindice contextualised reasoning is performed in a sandbox to ensure that Fred's malicious schema isn't going to pollute any inferencing from your document, unless your document also references Fred's schema. Without checking we can't be sure that foaf:knows and foaf:mbox are defined in the same ontology. -- Robert Fuller Research Associate Sindice Team DERI, Galway http://sindice.com/
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
On 11/5/10 9:13 AM, bill.robe...@planet.nl wrote: Hi Nathan - thanks for clear answer. I see the point and also the argument for using hash URIs with ontologies. In practice how I get round this prob is to preload my triple store with the handful of common ontologies I know I'm going to use, so don't need to deref them as I go along. Cheers Bill Bill, What happens when the ontologies evolve? Kingsley -Original Message- From: Nathan [mailto:nat...@webr3.org] Sent: Fri 11/5/2010 1:12 PM To: bill.robe...@planet.nl Cc: public-lod@w3.org; Dan Brickley Subject: Re: What would break, a question for implementors? (was Re: Is 303 really necessary?) bill.robe...@planet.nl wrote: Hi Nathan I'm not saying you're wrong - but could you explain why it would be a pain for FOAF terms to return 200? Which kinds of application are dereferencing those terms and relying on a 303 response? eg http://xmlns.com/foaf/0.1/Person currently 303s to http://xmlns.com/foaf/spec/ What would break if http://xmlns.com/foaf/0.1/Person returned that same content with a status code of 200? Just trying to understand the issue Hi Bill, Good question :) If you consider a basic linked data client, with a basic ontology/schema awareness, for instance one which shows peoples FOAF profiles and uses the nice rdfs:label's for properties rather than foaf:Person. It's going to have to GET the ontology, now when it cycles through the properties it'll find http://xmlns.com/foaf/0.1/Person and GET it, then hopefully cache it against the URL specified in the [content?] location of the final request (be that 1 or many requests). When you 200 OK the response then the ontology will be stored against http://xmlns.com/foaf/0.1/Person so when you hit http://xmlns.com/foaf/0.1/knows you need to do another GET, and be returned a full ontology again, thus you end up with 40+ requests with full responses and 40+ cached versions of the single ontology. Unless you code around it in some way, make a provision for FOAF. However, if you use 303's the then first GET redirects there, then you store the ontology against the redirected-to URI, you still have to do 40+ GETs but each one is fast with no response-body (ontology sent down the wire) then the next request for the 303'd to URI comes right out of the cache. It's still 40+ requests unless you code around it in some way, but it's better than 40+ requests and 40+ copies of the single ontology. The above, together with the deployment for FOAF is a v good reason *not* to use slash URIs for ontologies - ask Dan Bri about the FOAF rewrite rules for a second opinion on that :p Hope that explains, Best, Nathan -- Regards, Kingsley Idehen President CEO OpenLink Software Web: http://www.openlinksw.com Weblog: http://www.openlinksw.com/blog/~kidehen Twitter/Identi.ca: kidehen
Re: What would break, a question for implementors? (was Re: Is 303 really necessary?)
Ian Davis wrote: On Fri, Nov 5, 2010 at 12:12 PM, Nathan nat...@webr3.org wrote: However, if you use 303's the then first GET redirects there, then you store the ontology against the redirected-to URI, you still have to do 40+ GETs but each one is fast with no response-body (ontology sent down the wire) then the next request for the 303'd to URI comes right out of the cache. It's still 40+ requests unless you code around it in some way, but it's better than 40+ requests and 40+ copies of the single ontology. But in practice, don't you look in your cache first? If you already have a label for foaf:knows because you looked up foaf:mbox a few seconds ago why would you issue another request? to GET an authoritative response? But seriously, because it's the http message responses that are cached, you know the whole linked data follow your nose deference things approach, you just dereference and lean on HTTP Caching, the 303 on properties as done by FOAF doesn't allow this and is very non HTTP friendly, hence causing the problem at HTTP level. The work around and practical measures to circumvent, are do introduce a triple store in tot he equation and hit that first + assume what;s there is correct, or to make a hard coded map of HTTP URIs in your app for FOAF and pretty much ignore HTTP leaning on out of band knowledge, which get's rid of much of the point of using HTTP. Hope that clarifies, Best, Nathan