design decision regarding integer predicates

Everyone,

I'd appreciate people's thoughts on a certain abstract ontology design 
issue: What are the semantic ramifications of using an integer as a 
predicate in an assertion? (I ask this question in abstract, independent 
of RDF's limitations.) Let me explain:

JavaScript is a very dynamic language in which almost everything 
eventually ends up as an associative map. Even JavaScript arrays are 
sugar-coated associative maps, with each key of the map being the index.

RDF literals have many limitations, but let's ignore them for the moment 
and assume that I have a URI that represents the integer 0. (I use OWL 
or whatever to say that 0 is the same as the typed literal 
"0"^^xsd:Integer, maybe.) Assume further that I'm creating my own array 
type.

The question becomes: would I want to use the integer 0 as a property to 
my array resource? (That is, the triple: {my:Array, integer 0, first 
array element}? Or would I be better off creating a new namespace just 
for indexes? (The latter is similar to what rdf:Seq does, with rdf:_1 
being a resource distinct from the integer 1.)

In short: what are the semantic ramifications of using an integer as a 
predicate in an assertion? Does that reflect what is happening 
semantically when an element is a member of an array?

Garret

Received on Wednesday, 12 September 2007 18:21:37 UTC