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

SubClassOf(Voices Calll)
SubClassOf(SMS Calll)
DisjointClasses(Voices SMS)

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

ObjectPropertyDomain(SP SMS)
ObjectPropertyRange(SP Word)
ObjectPropertyDomain(Begins Calll)
ObjectPropertyRange(Begins Cell)
ObjectPropertyDomain(Caller Calll)
ObjectPropertyRange(Caller User)
ObjectPropertyDomain(Called Calll)
ObjectPropertyRange(Called User)
ObjectPropertyDomain(Contract User)
ObjectPropertyRange(Contract Operator)
ObjectPropertyDomain(Positioned Cell)
ObjectPropertyRange(Positioned Location)
ObjectPropertyDomain(Housing Operator)
ObjectPropertyRange(Housing Location)

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

SubClassOf(Calll ObjectMinCardinality(1 Begins))
SubClassOf(Calll ObjectMinCardinality(1 Caller))
SubClassOf(Calll ObjectMinCardinality(1 Called))
SubClassOf(Celll ObjectMinCardinality(1 Positioned))
SubClassOf(Operator ObjectMinCardinality(1 Housing))
SubClassOf(User ObjectMinCardinality(1 Contract))

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

FunctionalObjectProperty(Begins)
FunctionalObjectProperty(Positioned)
FunctionalObjectProperty(Housing)
FunctionalObjectProperty(Caller)
FunctionalObjectProperty(Called)
FunctionalObjectProperty(Contract)

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

DataPropertyRange(data rdf:date)
DataPropertyRange(hours rdf:integer)
DataPropertyRange(minutes rdf:integer)
DataPropertyRange(content rdf:string)
DataPropertyRange(number rdf:string)
DataPropertyRange(code rdf:string)
DataPropertyRange(name rdf:string)
DataPropertyRange(province rdf:string)
DataPropertyRange(region rdf:string)
DataPropertyRange(cf rdf:string)
DataPropertyRange(sales rdf:float)
DataPropertyRange(numberPhone rdf:string)


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

DataPropertyDomain(data Calll)
DataPropertyDomain(hours Calll)
DataPropertyDomain(minutes Calll)
DataPropertyDomain(duration Voices)
DataPropertyDomain(content Word)
DataPropertyDomain(number Cell)
DataPropertyDomain(code Location)
DataPropertyDomain(name Location)
DataPropertyDomain(province Location)
DataPropertyDomain(region Location)
DataPropertyDomain(sales Operator)
DataPropertyDomain(cf Operator)
DataPropertyDomain(numberPhone User)

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

FunctionalDataProperty(data)
FunctionalDataProperty(hours)
FunctionalDataProperty(minutes)
FunctionalDataProperty(duration)
FunctionalDataProperty(content)
FunctionalDataProperty(number)
FunctionalDataProperty(code)
FunctionalDataProperty(name)
FunctionalDataProperty(province)
FunctionalDataProperty(region)
FunctionalDataProperty(cf)
FunctionalDataProperty(sales)
FunctionalDataProperty(numberPhone)


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

SubClassOf(Calll dataSomeValueFrom(data xsd:anyType))
SubClassOf(Calll dataSomeValueFrom(hours xsd:anyType))
SubClassOf(Calll dataSomeValueFrom(minutes xsd:anyType))
SubClassOf(Voices dataSomeValueFrom(duration xsd:anyType))
SubClassOf(Word dataSomeValueFrom(content xsd:anyType))
SubClassOf(Cell dataSomeValueFrom(number xsd:anyType))
SubClassOf(Location dataSomeValueFrom(code xsd:anyType))
SubClassOf(Location dataSomeValueFrom(name xsd:anyType))
SubClassOf(Location dataSomeValueFrom(province xsd:anyType))
SubClassOf(Location dataSomeValueFrom(region xsd:anyType))
SubClassOf(Operator dataSomeValueFrom(cf xsd:anyType))
SubClassOf(Operator dataSomeValueFrom(sales xsd:anyType))
SubClassOf(User dataSomeValueFrom(numberPhone xsd:anyType))

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

DataProperty2Range(cost rdf:float)
DataProperty2Range(orderr rdf:integer)


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

DataProperty2Domain(orderr SP)
DataProperty2Domain(cost Contract)

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

FunctionalDataProperty2(orderr)
FunctionalDataProperty2(cost)

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

SubObjectPropertyOf(SP data2SomeValueFrom(orderr xsd:anyType))
SubObjectPropertyOf(Contract data2SomeValueFrom(cost xsd:anyType))

Comment("----- Vincoli di chiave")
KeyFor(data,hours,minutes,Caller,Called Calll)
KeyFor(content Word)
KeyFor(number,Positioned Cell)
KeyFor(code Location)
KeyFor(cf Operator)
KeyFor(numberPhone User)