- From: <Patrick.Stickler@nokia.com>
- Date: Thu, 4 Oct 2001 23:42:22 +0300
- To: phayes@ai.uwf.edu
- Cc: www-rdf-logic@w3.org
> >But that would really have to be defined as a more general rule than > >just statments about specific instances of integers, otherwise, we'd > >have to define an infinite number of statements to be sure they all > >were known to any system trying to ask, is this resource "odd", etc. > > No, you wouldn't, that's the point. If we can define classes of > literal values in terms of properties of the literals themselves, > then we have, potentially, a new way to determine membership in a > class. Right now, the only way to determine membership in anything in > RDF is to check to see if there are assertions in the graph which > entail an explicit assertion that the thing is a member of the class > (or container, etc.). But to find out if some literal is in > odd-integer, you don't even need to look at the RDF graph, you just > need to do divide it by 2 and see if theres a remainder. You can get > infinitely much assertional bang for your buck. Right. I.e., we're not going to make a potentially infinite set of statements like int:1 rdf:type foo:odd . int:3 rdf:type foo:odd . int:5 rdf:type foo:odd . ... But rather capture the essence of "oddness" via a function just as you describe. But one would still like to know that a given literal value is an integer to be sure that the application of that function is valid. > > >I.e., rather than define explicit facts, we would define functions > >from which we could infer the facts implicitly only as needed. > > > >> ... If RDF had the ability to > >> assert properties of literals, the expressive power of > the language > >> would be quite radically increased. > > > >Well, I guess I'm not sure that that is the case with literals > >given a URI representation -- as then the literals are no longer > >literals but resources, > > No, wait: they are resources, but they are still the values of > literals, and that is (well, might be) enough to give us a different > kind of handle on them. I'm not sure I quite follow what you mean by "resources being the values of literals" here. A property value (object) is either a literal or a resource, and if we say 'int:5' instead of "5" then the value is a resource, not a literal. Whether a given RDF based application applies some interpretation to either representation is outside the scope of the MT, right? In either case, they are just opaque logical constants -- though of different types. So, if I choose to only use resource (URI) values in all of my RDF graphs, even for typed data values that other folks might represent as literals, I've not required any changes to the current MT semantics, right. A resource is a resource is a resource, and "no assumptions are made about the nature of resources". Right? So such a treatment would not require any increase in the expressive power of the language. > >so how does that actually increase the > >expressive power of RDF, per se -- since the semantics of the > >data typing is in the URI and RDF doesn't understand the semantics > >of URI schemes...? > > You keep assuming that literals have already been assimilated to > URIs, and I'm trying to point out that doing that loses something > important. Sure, once you've lost it, its not there. I'm not making that assumption. Have literals if you like. I was simply trying to clarify that if I use resources where otherwise I might have used literals, and there exist no literals in any of my graphs, then those portions of the MT concerning literals are not relevant to my graphs (which have no literals). Taking that a step further, if everyone used resources rather than literals, then, logically, there would not be any need for special treatment of literals in the MT. Right? *** Disclaimer: I'm not proposing doing away with literals! Though *** I'm perhaps using that as a way to explore the relation between *** URI labled resources and literal "resources" in general. What I'm not clear on is what you feel is being lost by using a URI to represent a typed data value rather than a literal. I.e., how does using an approach such as '#a #b int:5 .' lose anything in comparison to '#a #b "5" .' per se? Does not the URI form provide greater potential for defining or inferring knowledge about the value? Granted, in order to have "extra" knowledge about the actual data type used, we need to either interpret the URI scheme (which is outside the scope of the MT) or employ mechanisms such as the (now unfortunately deprecated) rdf:aboutEachPrefix, e.g. <rdf:Description rdf:aboutEachPrefix="int:"> <rdf:type rdf:resource="xsd:integer"/> </rdf:Description> (apologies for the qname attribute value, tired of typing...) > >And isn't it useful to keep very clear and distinct the "raw" > >graph versus (possibly many) "cooked" interpretive layers above > >that graph? > > Yes, indeed, and the next draft of the MT document will make that > layering more explicit. My point was only that the exact dividing > line between the RDF layer and the RDFS layer seems somewhat > arbitrary (and some authors of the original specs seem to agree, by > the way.) You could take just about any subset of the combined > RDF/RDFS vocabulary and make it into a coherent 'layer'. Fair enough. Drawing lines between interelated levels is often highly subjective and colored by context and greatest need. Cheers, Patrick -- Patrick Stickler Phone: +358 3 356 0209 Senior Research Scientist Mobile: +358 50 483 9453 Nokia Research Center Fax: +358 7180 35409 Visiokatu 1, 33720 Tampere, Finland Email: patrick.stickler@nokia.com
Received on Thursday, 4 October 2001 16:42:25 UTC