How to restrict conditional cardinalites?

Hi OWLers,

I'm a kind of embarrassed to ask this, but

"Can one express restrictions on cardinality of a property value
conditioned wrt to the Class of the value?"

e.g. Can one say in OWL
"Any instance of Panasonic DVD-Recorder EX200V is accompanied with
one and only one remote controller as an accessory"
when any instance of EX200V is accompanied with one and only one power cable 
as an accessory at the same time?

I think I can say:

ex:EX200V rdfs:subClassOf
		[a owl:Restriction;
		 owl:onProperty ex:hasAccessory;
		 owl:hasValue [a ex:RemoteController]].

just to say 

"Any instance of EX200V is accompanied with one remote controller as an accessory."

However, to put a restriction on the number of the remote controller,
if I say (in addition to the statement above)

ex:EX200V rdfs:subClassOf
		[a owl:Restriction;
		 owl:onProperty ex:hasAccessory;
		 owl:cardinality "1"^^xsd:nonNegativeInteger].

It should mean that any EX200V doesn't come with any power cable as an accessory.

One awkward solution would be to introduce ex:hasRemoteController and put a cardinal restriction on
that property.

Or can I say

ex:EX200V rdfs:subClassOf
		[a owl:Restriction;
		 owl:onProperty ex:hasAccessory;
		 owl:hasValue [a ex:RemoteController]
		 owl:cardinality "1"^^xsd:nonNegativeInteger].

to express the conditioned restriction? 

Is there any other solution?

Thanks in advance.

Best,
Yoshio
fukushige.yoshio@jp.panasonic.com

-- 
Yoshio Fukushige <fukushige.yoshio@jp.panasonic.com>
Network Development Center,
Matsushita Electric Industrial Co., Ltd.

Received on Friday, 8 September 2006 09:05:35 UTC