Punning (which was introduced in OWL 2 DL) allows one to give the same name (IRI) to a Class and an Object Property (see Association Example).
Can I use this way of meta-modelling to attach attributes on a relation?
For instance, the relation drives
connects Person
and Vehicle
. I want to specify the velocity
with which the Vehicle
is driven, and this property belongs on drives
. Punning allows me to model drives
as an association class by specifying both a class and an object property named drives
. I'm guessing this would allow me to have object properties that have data properties associated with them somehow.
I would like to know whether this is the correct way of going about it. Am I missing something?
As far as I can tell, you can you use the same IRI for both a class and a property, but I don't think it will really help you in the kind of meta-modelling that you're looking for.
Having the same IRI denote a class and a property doesn't really help here. It sounds like what you want is a reified relation. You'd want to denote this in a way like:
That's really the most typical way to do this. If you really want to, you can use drives to name a class, and you can make driving74 an instance of that class, which might suggest to users that there's some connection between them. That is, you could make your schema be:
You can do that, and maybe it would make the connection more apparent to some users, though in my opinion, it's not really all that helpful, and might just make things more confusing.