- From: Garret Wilson <garret@globalmentor.com>
- Date: Fri, 27 Jul 2007 10:15:41 -0700
- To: Henry Story <Henry.Story@Sun.COM>
- CC: Semantic Web <semantic-web@w3.org>
Henry Story wrote: > > In OO programming languages the "." operator usually applies a > relation directly to an > object. ... > You use the . notation for separating the prefix from the name, which > I find confusing. Well I suppose java does this too with the package > notation java.lang.String.length ... Remember that this RDFON "proposal" is not finalized---in fact, yesterday morning is the first time I ever wrote anything down, although I've been thinking about a better RDF syntax for years. I wanted to post this to the list while the interest was still hot. When I was jotting this down, I first changed from '.' to '#' for exactly the reason you noted: confusion from programming language property notation. I switched it back at the last minute, thinking specifically of Java package notation. But I'm not set on '.'---I may decide something is better. In fact, in RDF 2.0 I'd like to change the relation between namespace URIs and resource URIs (that's another subject), so '#' might be the correct delimiter in the end. > > How would your language deal with multiple inheritance? RDFON is not a language. It's a serialization format for RDF. Answer the question, "How does RDF deal with multiple inheritance?" and you have the answer. > It would not have the xsd:integer relation to "one hundered and twenty > three", but > it could have another relation to that > > [] en:numberInEnglish "one hundred and twenty three"; > morse:intcode "_...." ; > xsd:integer "123" . > > I don't see the problem here. See my later comment. If you're using xsd:integer to be a type predicate, I disagree. If you're using xsd:integer to mean en:numberInDigits, I agree completely. >> So I would rewrite your example: >> >> _:123 rdf:type xsd:integer . > > That won't work. _:123 is a blank node, and so that is not saying very > much. "That won't work" is not the same thing as "that is not saying very much." Of course it will work, but it's not saying very much. ;) I assume that there are other statements indicating the resource URI as <rdfliteral:123;xsd:integer> or something. But my *only* point here is that I see xsd:integer to be the type of a normal resource---not just some strange appendix to a string. > It could be any number. But of course you could do the following: > > [] a num:Integer; > en:numberInEnglish "one hundred and twenty three"; > morse:intcode "_...." ; > xsd:integer "123" . Again, if you start using eg:intDigits or something instead of xsd:integer, I'll be happy. Perhaps we mean the same thing, but this will confuse people to no end. How about this: [] a xsd:integer; en:numberInEnglish "one hundred and twenty three"; morse:intcode "_...." ; eg:intDigits "123" . >> I'm find fine with that (assuming that _:123 revers to the value 8 ;) ). > > Well I was assuming it refferred to the decimal integer 123. If not > please forgive me, I know nothing of morse. I don't know Morse Code either---I just did a Google search and found 8 before I found 123, so that's what I used. ;) > > You want to say > > "123" a xsd:Integer . Hmmm... don't think I ever said that. See the representation above after "How about this?" > > That is wrong. "123" is a string. Completely agreed. > > but "123"^^xsd:integer a xsd:Integer . > > would be ok. Yeah, I think we're talking close to the same thing here. Let me update the example above: <rdfliteral:123;xsd:Integer> a xsd:Integer; en:numberInEnglish "one hundred and twenty three"; morse:intcode "_...." ; eg:intDigits "123" . Then in RDF/XML, the following serialization: <eg:property rdf:datatype="xsd:integer">123</eg:property> Would automatically produce the correct URI and give something like this: <rdfliteral:123;xsd:Integer> a xsd:Integer; rdf:canonicalLexicalRepresentation "123" . And now we have resources that act like other resources, we know it's type, and we even know how to represent it as a string. But we only know *one* way to represent it as a string; Pakistan and India would use different representation in Urdu and Hindi, respectively. We only know the canonical programmatic representation that was used in this serialization. In fact, rdf:canonicalLexicalRepresentation is so closely tied to serialization forms that use Unicode that I'd almost say throw out the rdf:canonicalLexicalRepresentation as well. But I'm not sure about that. In RDFON, you could do either of the following: xsd:Integer("123") or xsd:Integer(<rdfliteral:123;xsd:Integer>) And they would both result in the same RDF data model. See why I say that RDFON is a serialization distinct from any new RDF proposal, but it more naturally indicates new features I want to see in RDF 2.0? Best, Garret
Received on Friday, 27 July 2007 17:15:58 UTC