Comment("---- Entità / Concetti")

SubClassOf(SpecialProject Project)
SubClassOf(ValidSpecialProject SpecialProject)

Comment("----- Relazioni / Ruoli")

ObjectPropertyDomain(Do Project)
ObjectPropertyRange(Do Student)
ObjectPropertyDomain(Scope Project)
ObjectPropertyRange(Scope Course)
ObjectPropertyDomain(Acting ValidSpecialProject)
ObjectPropertyRange(Acting CourseOfDegree)
ObjectPropertyDomain(Belong Course)
ObjectPropertyRange(Belong CourseOfDegree)
ObjectPropertyDomain(Rapresents Student)
ObjectPropertyRange(Rapresents CourseOfDegree)

Comment("----- Cardinalità Minima Ruoli")

SubClassOf(Project ObjectMinCardinality(1 Do))
SubClassOf(Project ObjectMinCardinality(1 Scope))
SubClassOf(ValidSpecialProject ObjectMinCardinality(1 Acting))
SubClassOf(Course ObjectMinCardinality(1 Belong))
SubClassOf(ObjectMinCardinality(1 InverseObjectPropertyOf(Rapresents)) Student)

Comment("----- Cardinalità Massima Ruoli")

FunctionalObjectProperty(Scope)
FunctionalObjectProperty(Acting)
FunctionalObjectProperty(Belong)
FunctionalObjectProperty(Rapresents)
FunctionalObjectProperty(InverseObjectPropertyOf(Rapresents))

Comment("----- Attributi di Concetto")

DataPropertyRange(presentationDate rdf:date)
DataPropertyRange(argoment rdf:string)
DataPropertyRange(number rdf:string)
DataPropertyRange(specialNumber rdf:string)
DataPropertyRange(vote rdf:integer)
DataPropertyRange(matriculation rdf:string)
DataPropertyRange(name rdf:string)
DataPropertyRange(surname rdf:string)
DataPropertyRange(age rdf:integer)
DataPropertyRange(sex rdf:string)
DataPropertyRange(cod rdf:string)
DataPropertyRange(titol rdf:string)
DataPropertyRange(numberSubscribers rdf:integer)
DataPropertyRange(courseName rdf:string)
DataPropertyRange(credits rdf:integer)


Comment("----- Dominio Attributi di Concetto")

DataPropertyDomain(presentationDate Project)
DataPropertyDomain(argoment Project)
DataPropertyDomain(number Project)
DataPropertyDomain(specialNumber SpecialProject)
DataPropertyDomain(vote SpecialProject)
DataPropertyDomain(matriculation Student)
DataPropertyDomain(name Student)
DataPropertyDomain(surname Student)
DataPropertyDomain(age Student)
DataPropertyDomain(sex Student)
DataPropertyDomain(cod CourseOfDegree)
DataPropertyDomain(titol CourseOfDegree)
DataPropertyDomain(numberSubscribers CourseOfDegree)
DataPropertyDomain(courseName Course)
DataPropertyDomain(credits Course)

Comment("----- Cardinalità Massima Attributi Concetto")

FunctionalDataProperty(presentationDate)
FunctionalDataProperty(argoment)
FunctionalDataProperty(number)
FunctionalDataProperty(specialNumber)
FunctionalDataProperty(vote)
FunctionalDataProperty(matriculation)
FunctionalDataProperty(name)
FunctionalDataProperty(surname)
FunctionalDataProperty(age)
FunctionalDataProperty(sex)
FunctionalDataProperty(cod)
FunctionalDataProperty(titol)
FunctionalDataProperty(numberSubscribers)
FunctionalDataProperty(courseName)
FunctionalDataProperty(credits)


Comment("----- Cardinalità Minima Attributi Concetto")

SubClassOf(Project dataSomeValueFrom(presentationDate xsd:anyType))
SubClassOf(Project dataSomeValueFrom(argoment xsd:anyType))
SubClassOf(Project dataSomeValueFrom(number xsd:anyType))
SubClassOf(SpecialProject dataSomeValueFrom(specialNumber xsd:anyType))
SubClassOf(SpecialProject dataSomeValueFrom(vote xsd:anyType))
SubClassOf(Student dataSomeValueFrom(matriculation xsd:anyType))
SubClassOf(Student dataSomeValueFrom(name xsd:anyType))
SubClassOf(Student dataSomeValueFrom(surname xsd:anyType))
SubClassOf(Student dataSomeValueFrom(age xsd:anyType))
SubClassOf(Student dataSomeValueFrom(sex xsd:anyType))
SubClassOf(CourseOfDegree dataSomeValueFrom(cod xsd:anyType))
SubClassOf(CourseOfDegree dataSomeValueFrom(titol xsd:anyType))
SubClassOf(CourseOfDegree dataSomeValueFrom(numberSubscribers xsd:anyType))
SubClassOf(Course dataSomeValueFrom(courseName xsd:anyType))
SubClassOf(Course dataSomeValueFrom(credits xsd:anyType))

Comment("----- Attributi di Ruolo")


Comment("----- Dominio Attributi di Ruolo")


Comment("----- Cardinalità Massima Attributi Ruolo")


Comment("----- Cardinalità Minima Attributi Ruolo")


Comment("----- Vincoli di chiave")
KeyFor(number,Scope Project)
KeyFor(matriculation Student)
KeyFor(cod CourseOfDegree)
KeyFor(courseName Course)

