W3C home > Mailing lists > Public > www-rdf-interest@w3.org > July 2006

Re: Multiple (conflicting) rdfs:range properties

From: Patrick Stickler <patrick.stickler@nokia.com>
Date: Fri, 21 Jul 2006 09:36:21 -0500
Message-Id: <224E084E-F0F6-44B4-932A-066D7316BE7B@nokia.com>
Cc: www-rdf-interest@w3.org
To: ext Paul Gearon <gearon@ieee.org>

On Jul 20, 2006, at 14:14, ext Paul Gearon wrote:

>
> Now if only we had some formal way of connecting a URI to a literal.

Prior to the introduction of datatyped literals, I defined and used
the val: URI scheme for this purpose, and in fact, this was input  
into the
discussion/design of typed literals -- the URI scheme being rejected
both because (a) it's yet another URI scheme and (b) URIs have
(practical) limits on the length of lexical forms which typed literals
would not have (as severely).

See attachment for details.

It would be possible to map between such URIs and typed literals
in an application. The val: URI would simply be a synonym for the
typed literal, and one could infer that for any val URI "val:(D)L"
with lexical form L and datatype D:

    val:(D)L owl:sameAs "L"^^D .

Of course, ideally, typed literals would simply be allowed as  
subjects ;-)

Cheers,

Patrick




> rdf:value could be used for this, but its use is open to
> interpretation.
>
> Maybe this was omitted because it would then be possible to associate
> a URI with more than one value:
> <ex:a>  <rdf:value>  "2"^^<xsd:integer> .
> <ex:a>  <rdf:value>  "3"^^<xsd:integer> .
>
> RDF is not suited to making groups of contradictory statements
> illegal.  That's normally done with OWL.  So I'm guessing that's why
> it was left out.  OTOH, it would be nice if there was *something* to
> formally make this association between URIs and their literal values.
>
> Regards,
> Paul Gearon
>
> On 7/20/06, Alexander Pohoyda <alexander.pohoyda@gmx.net> wrote:
>>
>> Frank,
>>
>> Thank you very much!  The section 4.3 ("A Note on rdfs:Literal") of
>> RDF Semantics document answers my question.
>>
>> I suspected that "ex:a rdf:type rdfs:Literal" is a logical
>> contradiction just like a "this statement is false" statement.
>>
>> I had a feeling that a URI reference cannot be declared a literal,  
>> but
>> I see that this is not the case and RDF Semantics explicitely allows
>> this.
>>
>>
>>
>> > Alexander--
>> >
>> > I'm not exactly sure what distinction you have in mind between
>> > "formal" and "logical" contradiction, but I don't think this  
>> example
>> > is a contradiction in either case.
>> >
>> > For there to be a problem with a resource being both an instance of
>> > both the rdfs:Literal and my:Class1 classes, there would have to be
>> > an *RDFS* condition saying that rdfs:Literal was disjoint from  
>> other
>> > RDFS classes.  But there is no such condition in RDFS.
>> >
>> > Note that a "logical" contradiction requires that there be
>> > conflicting statements *in the logic* (statements to which the  
>> logic
>> > applies).  What I think you have in mind is that this doesn't make
>> > sense in your intended interpretation (but RDFS doesn't provide a
>> > way to state all the constraints that apply to that  
>> interpretation).
>> >
>> > You might want to have a look at Section 4.3 ("A Note on
>> > rdfs:Literal") of RDF Semantics
>> > <http://www.w3.org/TR/rdf-mt/#literalnote>.
>> >
>> > --Frank
>> >
>> > PS: It is very difficult to write contradictory statements in RDFS,
>> > due to its limited expressibility.  However, the end of Section 4.1
>> > of RDF Semantics describes one case, involving XML literals, where
>> > it is possible.  Datatyped interpretations in general (see Section
>> > 5) introduce another area in which contradictions are possible, but
>> > this involves considering the extra semantic conditions introduced
>> > by the datatype(s)involved.
>> >
>> >
>> > Alexander Pohoyda wrote:
>> > > Hello,
>> > >
>> > > Definition from RDF Schema:
>> > >
>> > >     3.1 rdfs:range
>> > >
>> > >         P rdfs:range C
>> > >
>> > >     Where P has more than one rdfs:range property, then the  
>> resources
>> > >     denoted by the objects of triples with predicate P are  
>> instances
>> > >     of all the classes stated by the rdfs:range properties.
>> > >
>> > >
>> > > Now, consider an example:
>> > >
>> > >     my:property1 rdfs:range rdfs:Literal, my:Class1.
>> > >
>> > >
>> > > This effectively means that any object I use with this  
>> predicate is
>> > > an instance of both rdfs:Literal and my:Class1 classes:
>> > >
>> > >     example:thing1 my:property1 example:thing2.
>> > >
>> > >
>> > > Formally this is not a contradiction.  But isn't it a  
>> contradiction
>> > > logically?
>> > >
>> > > I appreciate any answer.  Thank you!
>>
>>
>> --
>> Alexander Pohoyda <alexander.pohoyda@gmx.net>
>> PGP Key fingerprint: 7F C9 CC 5A 75 CD 89 72  15 54 5F 62 20 23 C6 44
>>
>>
>



Received on Friday, 21 July 2006 14:35:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:17 GMT