Re: What *is* RDF?

From: Manu Sporny <msporny@digitalbazaar.com>
Subject: What *is* RDF?
Date: Thu, 24 Mar 2011 19:30:37 -0500

> On 24 Mar 2011, at 19:32, Peter Frederick Patel-Schneider wrote:
>> ...I have lots of other things that I could be doing...
>>
>> If I don't end up understanding JSON I'm likely to not vote for 
>> the JSON work in the WG, or maybe even vote against it, just
>> maybe causing all the efforts of the WG to fail.  So, then,
>> of course, effective for people who want to use the JSON
>> efforts of the WG.
>> 
>> I don't think that I am unique in this position.
> 
> I haven't worked with you before, Peter, so I'm going to assume good
> faith on your part and interpret that you are frustrated and didn't mean
> the above like it came across. 

Well I said the words.  I'm not completely responsible for how people
interpret them.

> Here is one way to interpret what you said:
> 
> "If I don't understand something, I'm going to vote against it."
> 
> That sounds scary and like a veiled threat. 

Well, if I can't understand something after a concerted effort to try, I
probably would vote against it, unless someone convinces me otherwise.
Take this whatever way you want.

> Another way is:
> 
> "If I don't understand this stuff, I'm not going to try to take part in
> the discussion"
> 
> Take my toys and go home. 

Well, in some sense this has to be true.  It I don't understand
something after a concerted effort to try, then any contributions I can
make to the discussion are likely not going to be useful, and I'm not
likely to participate much.

> Yet another is:
> 
> "I wish this WG wasn't wasting its time on this."

This one doesn't seem to me to have any relationship to my words at all.
In fact, although I may not have stated publically before, I think that a
closer relationship between RDF and JSON would be great for both sides.

> I've been watching this thread and becoming somewhat dismayed with the
> direction that the discussion has taken. I do think you have some very
> good questions, and I think that they haven't been answered in an
> optimal way for someone that is new to JavaScript and JSON. That doesn't
> mean that the answers do not exist. 

Well, I think that I certainly have indicated that I am eagerly awaiting
answers. 

> In other words, I think your subtext is:
> 
> "Why is this steaming pile of crap so badly defined and hard to
> understand!?"
> 
> Fair enough. It can be at first.

But should it be hard for someone who has been doing object-oriented
programming since the 1980s; understands multiple inheritance and the
difference between class-based and prototype-based object formalisms;
has designed object-centered representations; and has a good grounding
in all of programming language semantics, relational and object-oriented
data base theory, semi-structured data, and model theory?

> The same could be said about RDF, couldn't it? Where would I point a Web
> Developer to get an understanding of RDF? You could say that I'd point
> them to RDF Concepts, but that doesn't help figure out how to serialize
> the data, does it? I point them at the HTML+RDFa Primer and now they
> kind-of understand it, but they really need to go read the XHTML+RDFa
> spec to get a full understanding, which then requires them to read the
> XHTML spec, and then the XML spec, as well as the XML Namespaces spec,
> and then the URI spec, ad nauseum. Each new spec raises a slew of new
> questions. What if they ask the question "What does a URI represent in
> the semantic web?" - well, I could point them at the HTTP Range 14
> decision or the Cool URIs document, but that would just confuse them
> even more.

Well, I certainly agree that the situation with RDF could (or maybe
should) be less complex, but if I want to understand RDF all I need is
the RDF Semantics document (modulo a couple of errata) and a bit of RDF
concepts.  I find the RDF semantics document easy to understand.  If I
want to understand RDF/XML I need to understand far too much, but I hope
that the RDF documents make the point that it isn't the serialization
that matters, just the semantics.

> My point is that when you approach problems in the wrong way, and ask
> the wrong questions (or get the wrong answers), you get stuck down a rat
> hole. That's where this discussion is going, so I think it would be wise
> of all of us to constrain the discussion by talking about exactly how we
> need to define an RDF in/on/with JSON specification such that it avoids
> the touchier issues. For example:
> 
>   * What is the object model for JSON?
>     Answer: JSON (the serialization) doesn't have a defined object
>             model, it is a serialization format, it has a well-defined
>             grammar specified in RFC4627 - use that.
This one was very surprising to me.
>   * Exactly what is the valid JSON grammar?
>     Answer: If it doesn't conform to RFC4627, it's not valid.
This one I get, modulo one very important SHOULD, except that I've seen
three different syntax definitions, none of which defer to any of the
others. 
>   * What happens when you use multiple keys that have the same value?
[I think that you mean use the same name multiple times in one object.]
>     Answer: Don't do that, nobody does that, it doesn't work in any
>             implementations, even if it is valid according to the
>             grammar.
Well, then these implementations are *not* conforming!
>From RFC4627:
   A JSON parser transforms a JSON text into another representation.  A
   JSON parser MUST accept all texts that conform to the JSON grammar.
   A JSON parser MAY accept non-JSON forms or extensions.
And maybe you begin to see part of the problem.
>   * Exactly what object model for JSON should we use?
>     Answer: We don't need to specify a JSON object model in order to
>             specify a syntax that works for RDF.
Well, then do I have a solution for you!
  The JSON for an RDF graph is an array of arrays, each of which has
  three elements, each of which are strings.  Each of the three-element
  arrays encodes a triple ... [You should be able to guess the rest.]
Done!  Let's ratify this at the first F2F, declare victory, and be the
first W3C WG in a long time to finish early.
>   * and so on...
> 
> There are other ways to answer the questions above, but they lead us
> down rat holes.
Well, I, for one, want precise answers to precisely these questions so
that I can understand why certain directions have been taken and,
probably more importantly, why other directions have not been taken.


> To be fair to those that have attempted to answer your questions - you
> asked the questions and were given the actual answers. You felt the
> answers were too complicated for a regular web developer to grasp, and
> they are. However, you asked them as a member of this group and the
> assumption when answering you was that you wanted to know all of the
> gory details.
> 
> No developer is going to need to know these gory details.
> 
> However, as language designers, we need to know all of the gory details.
> It's a steep learning curve for someone that has never used JavaScript
> before. However, it seems as if you think that developers are going to
> need to know these idiosyncrasies as well - they are not going to need
> to know them. They're going to cut/paste and program by example, and if
> we do this correctly, they won't have to learn much of anything new in
> certain scenarios.

This sounds like you are going to maintain that a deep knowledge of
JavaScript is needed for a deep understanding of JSON, "a lightweight,
text-based, language-independent data interchange format" [RFC4627].  I
sure hope that this is not the case!

> I'm going to try to answer each of your questions in another e-mail, but
> this time by attempting to focus on what I think this group should use
> to specify the RDF in/on/with JSON specification. Maybe that will help
> shed some light on the implied plan forward. As you read that e-mail,
> please do try to understand that there are a number of us on the list
> that are attempting to help explain all of this in a way that is
> helpful. Have patience, there are answers - we will get to them eventually.

Well, patience is only going to help until some time before the first
F2F, because the WG is supposed to be making decisions there, or at
least that is what I think the WG's schedule is.

> -- manu

peter

Received on Friday, 25 March 2011 02:27:51 UTC