Saiful
Saiful

Reputation: 423

How to make property of property in Protégé?

I have a following problem to model in OWL using Protégé:

Multiple Songs could be performed in different Performances. Each Song could be arranged by different Arranger in different Performance.

I already know how to relate a Song to a Performance using object property. Now, how to map a Song-Performance pair to an Arranger? (In relational database, I would call this as a "descriptive attribute" of a many-to-many Song-Performance relationship).

I know that I could use an annotation to an object property, but I would like to be able to infer something from this property. (For example: what Song has an Arranger arranged, and in which Performance?) As far as I know, I am not able to do inference from an annotation.

Upvotes: 0

Views: 936

Answers (1)

scotthenninger
scotthenninger

Reputation: 4001

It's not necessary to add properties of properties to model this scenario, although a property is an object (a uri) and therefore can include any property, not just annotation properties. rdfs:subPropertyOf is a good example. Statement reification isn't necessary either. It's a matter of creating an object that holds information about the song and performance.

Here is a model that represents an Arranger's relationship to a Song-Performance:

ex:SongPerformance a owl:Class .
ex:Arranger a owl:Class .
ex:arranged rdfs:domain ex:Arranger ;
    rdfs:range ex:SongPerformance .
ex:songPerformed rdfs:domain ex:SongPerformance ;
    rdfs:range ex:Arranger .
ex:performedIn rdfs:domain ex:SongPerformance ;
    rdfs:range ex:Arranger .

Given this list, an example instance is:

ex:Arranger-1 ex:arranged ex:SP1 .
ex:SP1 ex:performedIn ex:Performance_1 ;
    ex:songPerformed ex:Song1 .

Then you can find which songs has an arranger arranged in a given performance through the following SPARQl query:

SELECT ?arranger ?song ?performance
WHERE {
   ?arranger a ex:Arranger ;
       ex:arranged ?sp .
   ?sp ex:songPerformed ?song ;
      ex:performedIn ?performance .
}

Upvotes: 1

Related Questions