I’m trying to develop an ontology to represent a curricula, and in this curricula a student must take 6 elective courses (and has a long list of courses from which to choose).
Right now I have this classes:
- Course --- Elective (defined class by isElective = true && type = Course)
And all my possible elective courses are instances of the type
Course with the data property
isElective set to true.
But I want to represent that this 6 elective courses must be taken in a certain way, for instance, a student needs to take 4 of this courses on the last year (
Year is a class) of the curricula.
I have been thinking of how to define this placeholder/abstract class, which as I have read isn’t possible and doesn’t make sense, and came across punning but I don’t know if it is what I’m looking for.
Let’s say I define a subclass of
ElectivePlaceholder, and then then 4 instances of this class where:
ElectiveX instanceOf ElectivePlaceholder Year5 instanceOf Year ElectiveX isPartOf Year5
Then I want to have a way to represent that a student choose to take
AdvancedMaths (instance of
Elective, aka instance of
isElective set to true) as it’s
How would I do that? Would punning be useful? Since it allows an object to treated as both a class and an individual.
What I’m trying to model is not what a student chooses but the curricula itself.
Each curricula individual has different requirements as to how many elective courses the students must undertake and in which years. I need to represent this in a way either on the
Curricula individual or the
Year individual (so it can be inferred for the
YearX partOf CurriculaX