W3C home > Mailing lists > Public > semantic-web@w3.org > September 2007

Re: design decision regarding integer predicates

From: Frank Manola <fmanola@acm.org>
Date: Thu, 27 Sep 2007 09:24:35 -0400
Message-Id: <602239EC-C4C1-4CC4-B222-C8554B7F8268@acm.org>
Cc: Semantic Web <semantic-web@w3.org>
To: Garret Wilson <garret@globalmentor.com>


This is pretty much off the top of my head, but I'd be uncomfortable  
with a design that simply uses a number as a predicate, because then  
the predicate seems to have little or no meaning by itself.  Instead,  
it has to borrow much of its meaning (that it represents a position  
in an array) from the fact that it's being applied to an array.  If I  
just had the number by itself, I'd know practically nothing about the  
meaning of the predicate.  Using a number like this makes more sense  
in an OO-like model, where properties are associated with particular  
object classes (and so the class is part of the semantics of the  
property) than in a more relational model like RDF.  However, it  
could certainly be made to work.  If it were me, though, I'd at least  
try to distinguish the ordinal characteristics of the predicate  
(i.e., that the predicate represents a position in some structure).


On Sep 26, 2007, at 2:55 PM, Garret Wilson wrote:

> In case no one understood my question (hence no replied), let me  
> rephrase it.
> In most instances I think of the integer 5 as being a cardinal  
> number. If I use the integer 5 as a predicate to an array resource  
> to indicate the fifth element, I'm using the integer 5, not as a  
> cardinal number, but as an ordinal number. Is this a semantic  
> discrepancy I should be worried about?
> Garret
> Garret Wilson wrote:
>> 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 Thursday, 27 September 2007 13:24:54 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:02 UTC