Re: defining the range

If I understand what you're asking, you want the 'modifies' property to 
point to properties on another resource.

I'm afraid this can't be done the way you're trying to go about it. 
This isn't XML you're working with, where you could address tags. This 
is what you've actually got --- 5 triples:

:obj1 a :Object ;
       :prop1 "test1" ;
       :prop2 "test2" ;
       :hasModifier :m1 .
:m1   a :Modifier .

What you're trying to do is label those properties on :obj1, and point 
at them. As these are triples, you can't do that --- they have no 
label.

Your closest workaround is to use reification in one of two ways. 
Either by making a "modification" object, and have that point to (a) 
the object whose property is being modified and (b) the property which 
is being modified (not a precise science, unless you restrict the 
cardinality of those properties to be <= 1), or by reifying :prop1 and 
:prop2, and pointing directly to the reified resources.

Hope that helps,
-Richard

On 31 Aug 2004, at 13:36, Alessandro Di Bella wrote:
>  and I would like to specify that the property "modifies" of the class 
> "Modifier" has as range any property  ids  of the class "Object".
>
>  In other words if I have:
>
>  <Object ....>
>      <prop1 ...>test1</prop1>
>      <prop2 ...>test2</prop2>
>      <hasModifier id="m1#"/>
>  </Object> 
>
>  <Modifier id="m1">
>      <modifies .....>id of either test1, test2 or hasModifier 
> </modifies>
>  </Modifier>
>
>  Any help would me much appreciated.
>
>  Thanks
>
>  Alessandro
>
>  

Received on Tuesday, 31 August 2004 13:18:22 UTC