2016-05-23 12 views
0

Wie kann ich mehrere Einschränkungen für eine bestimmte Eulenklasse festlegen?OWL So verwenden Sie mehrere Einschränkungen für eine Klasse

Beispiel: Ein gegebener Kurs muss von mindestens 1 genommen werden, aber maximal 10 Schüler:

 :Course a owl:Class; 
     owl:equivalentClass [a owl:Restriction; 
     owl:onProperty :takenBy; 
     owl:minCardinality 1] . 

    :Student a owl:Class . 

    :takenBy a rdf:Property; 
    rdfs:domain :Course; 
    rdfs:range :Student . 

Hier wird die Einschränkung, dass ein Kurs muss von mindestens 1 Teilnehmer genommen werden, aber wie kann ich tun gilt auch die Einschränkung Eule: maxCardinality 10?

Antwort

2

Sie können dafür einen owl:intersectionOf verwenden.

:Course a owl:Class; 
    owl:equivalentClass [ 
      owl:intersectionOf [ a owl:Restriction ; 
           owl:onProperty :takenBy; 
           owl:minCardinality 1] ; 
           [ a owl:Restriction ; 
           owl:onProperty :takenBy; 
           owl:maxCardinality 10] 
      ] 
    ]. 
+0

Großartig :) Wäre es auch einfach zu sagen: [eine Eule: Einschränkung; Eule: onProperty: takenBy; Eule: minCardinality 1, Eule: maxCardinality 10]. ? –

+0

Ich glaube nicht, jede Einschränkung muss separat IIRC sein. –