w3c / EasierRDF

Making RDF easy enough for most developers
267 stars 13 forks source link

Idea: Record stronger alternative definitions of ease #68

Open sbp opened 5 years ago

sbp commented 5 years ago

After @dbooth-boston CCed me on the original EasierRDF proposal in Nov 2018, we chatted about it on the Semantic Web Interest Group IRC channel. I tried to convince him that, though important, what he thought was primarily broken about RDF does not match what I think is primarily broken about RDF. I did not manage to convince him at all. My summary to him was that if he continues to fix issues that are relative frivolities then he is going to miss creating a much better RDF, and create instead a marginally improved or perhaps even a merely changed RDF.

I am surprised to find that none of my objections are recorded, in the slightest degree, in this GitHub issue tracker. Usually it is good academic practice to record objections against your conjectures, methods, results, etc. even if you do not agree with those objections. Indeed, one of the purposes of doing so is to provide strong criticial responses to your critics so that the same ground is not trod again in future. And in those situations where your critics turn out to be right you can at least say that you performed due diligence in engaging with those criticisms, even if you initially missed their full validity.

Of course I can add issues to this issue tracker myself, which is why I am creating this umbrella issue. I will not add the individual issues which constituted the bulk of my initial and ongoing criticism, but I will note them inline here so that they are at least on the record.

There are many more important issues, but I think this covers the bulk of what is truly and deeply wrong with RDF, especially the issue of decentralisation. Just as @dbooth-boston's original cluster of issues produced a range of smaller associated issues, so the issues above would produce their own mostly independent range of issues.

As I said to @dbooth-boston in Nov 2018 I have barely any interest in fixing RDF properly, let alone trying to pseudofix it, and so the present issue contribution is not intended to stimulate discussion or to involve me in the process. I will, however, note that if you want to fix RDF then you should probably contact the wide range of people who, like me, worked on RDF and the Semantic Web for many years but stopped and are no longer involved because of all of these problems. The people who continued to work on it and are still interested in RDF now are those who did not become jaded as such with RDF, and are therefore the least qualified to continue to work on it. Not only did they not at any point attempt to fix the massive glaring problems, but they were not even put off by these massive glaring problems. Getting these people to subsequently fix RDF is like asking an unrepentant bank robber to be the new head of security at the bank after a heist.

Don't let the people who stole RDF steal its future too!

dbooth-boston commented 5 years ago

@sbp commented:

I am surprised to find that none of my objections are recorded

Apologies. I certainly did not mean to exclude your criticisms! When the github repo was created I worked very hard to collect and capture all of the relevant issues that I found in the hundreds of messages in the original public email thread, but apparently I did not think to look back at our IRC discussion. Mea culpa. Sorry!

Thank you for capturing these comments now!

URIs should be the only means of identifying resources.

Interesting point! The RDF model could have used a single space -- with syntactic sugar for literals -- and any other segregation between URIs and literals could have been internal to implementations (if desired).

Most URIs should be statically typed. When you get an HTTP resource, the type is determined at resolution time by the Content-Type.

I see your point about statically typing most resources, and that makes very good sense. But it is not clear how this is relevant to RDF, since RDF does not rely on URI resolution at all. The Linked Data usage style does, so maybe you are suggesting that RDF should rely on URI resolution, moving full-force down the Linked Data path? That seems like an interesting idea, but it also raises classic questions about trust and fitness for purpose. Can I trust the data I get from dereferencing this URI, especially since domain names may change ownership? Will the data that I get from deferencing this URI align with my application's needs? What if that data includes assertions that are not relevant to my application's needs, but cause logical inconsistency? RDF has historically punted on these issues, and as a community we have never established best practices for dealing with them: each application handles them its own way. It would be really good to establish standard-ish techniques for addressing them.

In short: this would be a HUGE change to RDF itself, but certainly in line with Linked Data and what TimBL envisioned for the Semantic Web.

Binary data should be easier to represent.

Yes, good point.

URIs for mutable resources should have their authorities decentralised.

Agreed, and I am glad you brought this up, though I do not think this problem is unique to RDF. Decentralization is needed for the entire Web.

Consideration should be paid to the lisp model over the SQL model.

Another interesting idea! I fully agree that RDF needs to be able to deal atomically with higher-level data objects/chunks, including lists.

It's funny though, over time I have actually come to think of RDF instance data as more relational-like than I used to. I used to think of it as more arbitrary-graph-like. But the fact is that, aside from Tbox data -- classes and predicates -- most RDF instance data (Abox) involves multiple instances of the same shape -- often tuples -- which often looks a lot like relational tables. And of course, a huge amount of RDF data originates in relational tables. I am not advocating here for restricting RDF to the relation model. I am merely making an observation. But yes, the Lisp model probably makes sense.

Vocabularies should focus on practical use.

Agreed.

if you want to fix RDF then you should probably contact the wide range of people who, like me, worked on RDF and the Semantic Web for many years but stopped and are no longer involved because of all of these problems

Very good idea.

The people who continued to work on it and are still interested in RDF now are those who did not become jaded as such with RDF, and are therefore the least qualified to continue to work on it.

I take your point. It is hard to change one's mindset after becoming so accustomed to looking at the RDF world in a particular way. This is why I really think we need fresh ideas on the table -- to relax some of the assumptions that we've made for so long. I am hoping that some bright young minds can look at all this, abstract the good from it, and come up with something much easier and more pragmatic.