- From: Garret Wilson <garret@globalmentor.com>
- Date: Wed, 08 Aug 2007 07:09:57 -0700
- To: Ivan Herman <ivan@w3.org>
- CC: Semantic Web <semantic-web@w3.org>
Ivan Herman wrote: > Are you talking about > > - an extension/change of the RDF core semantics, or > - some sort of a design pattern, possibly backed up by some syntactic sugar? > I'm talking about both. The bulk of the proposal is the latter: a design pattern of adding properties that are interpreted to be contextual to the object as it appears in some other statement. Adding some syntactic sugar would make this easier to work with, and make it feel closer to how we think about contextual properties in real life. But obviously this couldn't be interoperable without the former: in my proposal, rdf:context and rdf:of would need to be given defined semantics. Obviously one could do this without touching RDF---the way I structured my proposal, I can already use this design pattern with my:context and my:of. In fact, I probably will. But it would be nice if this were part of RDF, as it is more useful if everyone uses it, and this is a common use case. Referring to the former of your options, I'd say this is more of an "extension" than a "change", although it would be nice if the language tag were revamped to be a contextual property. >> Obviously xml:lang is a hack in the RDF model for a single case, forcing >> the model to carry around language information that isn't a real >> "property". >> > > is, I am sorry to say, erroneous. The artefact has nothing to do with > the RDF model. > The way I described xml:lang and the way you describe it both are not completely correct. First let me again apologize profusely for the way I have been using xml:lang and (in the past) rdf:literal---obviously these are syntactical details of the RDF/XML serialization. I was using both of these as a shorthand notation for the things they create in the abstract model: the language tag and the datatype URI, respectively. That's what I meant. That's what I will say in the future. But to say that "xml:lang is ... a syntax issue and not semantics" and that it "has nothing to do with the RDF model" is not correct. The xml:lang information isn't in the syntax just to look pretty---it becomes the language tag in the abstract syntax, and the language tag is about semantics. The literal identified by the pair ("mais", language tag fr) is clearly a distinct thing from ("mais", language tag pt), as stated by http://www.w3.org/TR/rdf-concepts/#section-Literal-Equality . What I said about the language tag was not completely correct, either. I initially viewed all references of the plain literal "mais" to be equivalent, just having a different language tag in different contexts. After reviewing the above reference, it seems that the literal "mais" with language tag fr refers to a different literal "mais" with language tag "pt". This is distinct semantics, but really it's just a sly way of representing something contextual in the model. You and I still think of "mais" as the same resource (yes, literals are resources), having different languages in different contexts. The RDF model doesn't have a method of saying "this language only in certain contexts", so it declares the language tag to be part of the thing that identifies the resources, making the language tag a distinguishing part of the identifier---a "tag" that gets carried around in the model for distinguishing among literals. (The language tag is not a property, but it's still there in the model---somehow.) My point is that this is a specific hack; I have other things that I'd like to do the exact same thing with. Let's say I share a house with Jane Doe, and we both have the same landline. I use that number for my home number. Jane uses that number as her business number. If we could hack in a vCard telType "tag" in the same way the language tag is built into the RDF model, that would mean that (<tel:+1-123-456-7890>, telType tag "home") identifies a different resource than (<tel:+1-123-456-7890>, telType tag "work"), just like ("mais", language tag "fr") identifies a different resource than ("mais", language tag "pt"). But that's still semantically not what we're trying to say. In real life "mas" is the same literal, whether it's with language tag "es" or "es_SP"---the RDF model just makes them different resources. The telephone number <tel:+1-123-456-7890> is the same whether it's for home or work. We're just trying to specify that these resources have certain properties that are only valid in certain contexts. But if the language tag confuses the point, we can drop it and talk of other examples. Surely you can see how it would be useful to indicate that "Garret treats <tel:+1-123-456-7890> as his home number, and Jane treats <tel:+1-123-456-7890> has her business number." Rather than having an infinite number of properties, each for a specific combination of all the properties of <tel:+1-123-456-7890> that could be specific to Garret (e.g. vcard:homeWorkFaxPartyUnpublishedNumber), wouldn't it be more correct and easier to use if we could specify properties of <tel:+1-123-456-7890>, but only in the context of Garret's using this resource has his phone number? > Again, sorry to be so pedantic, it is not my purpose to be dismissive by > _any_ means. I would just like to understand what exactly your purpose > is and to formalize it accordingly... > I hope the phone number example helps---it's especially relevant, as it's actually an issue we're dealing with in vCard. If you still don't understand what I'm going for, let me know and I'll try again. > I really do not like this general move of turning everything into '2.0'. > Call it what you will---contextual properties is a feature that I need and I think would be useful. I was using "RDF 2.0" as a shorthand because of the complaints I had received for complaining about the current RDF---I was told basically to go propose a new RDF or shut up. So I chose the easier of the two... ;) Best, Garret
Received on Wednesday, 8 August 2007 14:10:11 UTC