In einer OWL-Ontologie, mit einer Klasse Student
; Ich möchte eine andere Klasse StudentsPair
, definieren, die jedes Paar von Studenten ist, in einer solchen Art und Weise, die automatisch alle möglichen Zweierkombinationen von Student
berechnet, dhDefinieren einer Klasse von Individuen als eine Kombination aus einer anderen Klasse von Individuen
Student(x) and Student (y) --> StudentsPair(x,y)
Ich möchte StudentsPair
als Klasse, nicht eine Eigenschaft, weil Es kann zusätzliche Funktionen haben (wie averagePerformanceForPair
, etc.).
Zum Beispiel
Premise
Student(John)
Student(Alex)
Student(Mary)
-----------------
Fazit
StudentPair((John, Alex))
StudentPair((John, Mary))
StudentPair((Alex, Mary))
Die reasoner muss irgendwie diese neuen Menschen schaffen! Ist das möglich?
Zunächst wäre es wahrscheinlich einfacher zu versuchen, neun Paare zu erstellen (3 × 3) seit Es gibt wahrscheinlich keine gute Möglichkeit, die Reihenfolge zu beschränken, und es könnte schwierig sein, Selbstpaare zu verhindern. Aber wie AKSW sagt, ist es leicht, zu dem Punkt zu kommen, an dem Sie jeden Schüler mit jedem anderen Schüler in Verbindung bringen können, aber es ist vielleicht nicht möglich, Instanzen einer anderen Klasse zu verursachen. –