Response to Global identifier schemes don’t scale

Phil Dawes wrote in Global identifier schemes don’t scale that context is required to make any statement about a Resource on a global scale (at least, I think he did :)

I completely agree, but that doesn't mean his original point is correct. Global identifiers do scale globally, because at their core they have no meaning and are simply identifiers. It's only further statements about the Resource the identifier identifies that provide meaning. And those statements are always given with a context.

Context on the semantic web, with its world of triples, has to be explicit, unfortunately. Phil's original example, that of assigning a value to someone's weight property, is a good one. The concept of context comes up depending on, you guessed it, the context.

Take, for example, the weight of a person. *When* the person weighed that much can be important under some contexts, but not others. My driver's license says I'm 140 lbs, but I don't always have that weight. In the context of the DMV, that's my weight. Now, my weight for Jenny Craig is certainly time sensitive. Therefore, Jenny Craig's RDF store and ontology would define weight properties with time qualifiers.

The great thing about all of this, is that the definition of what a weight is, is context specific. The semantic web doesn't attempt to define the One, True Meaning for weight. It fully embraces that what you mean for weight is different than what I mean.

Getting back to identifiers, the issue of context of the data is not affected by global identifiers. What can make the semantic web actually work is that no matter the semantic meaning of weight, it is possible to talk about the same Resource. The Resource's meaning becomes more valuable as we allow anyone to say anything about it. As long as we always know what "it" is. :)

Keep up the good work, Phil! Always a pleasure to read your blog.

Popular posts from this blog

The 29 Healthiest Foods on the Planet

Lists and arrays in Dart

Converting Array to List in Scala