2016-06-22 9 views
0

Ich habe folgendes Problem in OWL mit Protégé zu modellieren:Wie macht man Eigentumsrechte an Protégé?

Multiple Song s in verschiedenen Performance s durchgeführt werden kann. Jede Song könnte durch unterschiedliche Arranger in verschiedenen Performance angeordnet werden.

Ich weiß bereits, wie man eine Song mit einer Performance unter Verwendung der Objekteigenschaft in Beziehung setzt. Nun, wie ein Song - Performance Paar zu einem Arranger zuordnen? (In der relationalen Datenbank würde ich dies als "beschreibendes Attribut" einer Viele-zu-Viele-Beziehung bezeichnen).

Ich weiß, dass ich eine Annotation zu einer Objekteigenschaft verwenden könnte, aber ich möchte in der Lage sein, etwas von dieser Eigenschaft abzuleiten. (Zum Beispiel: was Song hat eine Arranger angeordnet, und in der Performance?) Soweit ich weiß, kann ich nicht aus einer Anmerkung schließen.

+0

In anderen Ontologie bearbeiten Oder, wie TopBraid, können Sie ein Triple verifizieren. Das ist in Protégé nicht möglich, aber Sie können ähnliche Ergebnisse mit anderen Mitteln erzielen, zum Beispiel mit äquivalenten Klassen. Wenn Sie mehr Details zu Ihren Daten angeben und was Sie erreichen möchten, wäre es einfacher, eine Lösung vorzuschlagen. –

+3

Standardlesematerial für diese Art von Problem: [Definieren von N-gliedernden Beziehungen im Semantic Web] (https://www.w3.org/TR/swbp-n-aryRelations/). –

+0

Ich würde sagen, dass dies als ein Duplikat von [Wie kann ich zusätzliche Informationen (Zeit, Wahrscheinlichkeit) über eine Beziehung in RDF ausdrücken?] (Http://stackoverflow.com/questions/32923213/how-cani- express-additional-information-zeit-probability-about-a-relation-in/33619395), die auch einige weitere Möglichkeiten außerhalb von Protege beinhaltet (zB in Triple und Quad-Stores). –

Antwort

1

Es müssen keine Eigenschaftseigenschaften hinzugefügt werden, um dieses Szenario zu modellieren, obwohl eine Eigenschaft ein Objekt (eine URI) ist und daher beliebige Eigenschaften und nicht nur Annotationseigenschaften enthalten kann. rdfs: subPropertyOf ist ein gutes Beispiel. Statement Verdinglichung ist auch nicht notwendig. Es geht darum, ein Objekt zu erstellen, das Informationen über den Song und die Performance enthält.

Hier ist ein Modell, das eine Arrangers Beziehung in einem Song-Leistung darstellt:

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 . 

diese Liste gegeben, ein Beispiel Beispiel ist:

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

Dann können Sie, welche Songs finden hat eine Arrangeur angeordnet in einer bestimmten Leistung durch die folgende SPARQl-Abfrage:

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

"Eine Aussagekomposition ist auch nicht notwendig. Es geht darum, ein Objekt zu erstellen, das Informationen über den Song und die Performance enthält." Dieses zusätzliche Objekt ist im Wesentlichen eine Verdinglichung der (impliziten) höheren Arity-Relation (Arrangeur, Performance, Song). Aber ich stimme zu, dass es konzeptionell dazu beitragen kann, es als eine völlig neue Art von Objekt zu betrachten, das eine Reihe von Eigenschaften hat. –

+0

"Statement-Vereidigung" ist eine bestimmte Art von Verdinglichung, die eine Aussage über eine Aussage mit 'rdf: subject',' rdf: Predcate' und 'rdf: object' ist. Es wird oft als Mitglied von 'rdf: Statement' definiert, daher der Begriff" Aussageverdingung ". Mir war klar, dass diese Art der Verdinglichung im Gegensatz zu einem der Kommentare nicht notwendig ist. – scotthenninger

+0

Ja, Verdinglichung hat eine engere spezifische technische Verwendung in RDF, die in Abschnitt [5.3 Redefining Vocabulary] (https://www.w3.org/TR/2014/REC-rdf-schema-20140225/#ch_refeivationvocab) der Standard. Verifizierung (z.B. https: //en.wikipedia.org/wiki/Reifification_ (computer_science) und https://en.wikipedia.org/wiki/Retification_(knowledge_representation)) ist auch ein breiter anwendbarer Begriff, wo etwas, das man nicht direkt darüber sprechen kann, in etwas abstrahiert wird, das man kann . –