
# example domain 2

@keywords a.

@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rbac:  <http:/dig.csail.mit.edu/2007/rowlbac/approach1/rbac#> .
@prefix :  <http:/dig.csail.mit.edu/2007/rowlbac/approach1/ex2domain#> .

# role descriptions 
# for each role, you need an active role which is
# associated using activeForm prop

# second domain
UnivPerson rdfs:subClassOf rbac:Role.
ActiveUnivPerson rdfs:subClassOf rbac:ActiveRole, UnivPerson.
UnivPerson rbac:activeForm ActiveUnivPerson.

Faculty rdfs:subClassOf UnivPerson.
ActiveFaculty rdfs:subClassOf Faculty, ActiveUnivPerson.
Faculty rbac:activeForm ActiveFaculty.

Student rdfs:subClassOf UnivPerson.
ActiveStudent rdfs:subClassOf Student, ActiveUnivPerson.
Student rbac:activeForm ActiveStudent.

PrincipalInvestigater rdfs:subClassOf UnivPerson.
ActivePrincipalInvestigater rdfs:subClassOf Student, ActiveUnivPerson.
PrincipalInvestigater rbac:activeForm ActivePrincipalInvestigater.

# static sepatation of duties
PrincipalInvestigater owl:disjointWith Student.

# dynamic separation of duties
# though you can be a student and a faculty, you cannot activate them in 
# the same session
ActiveFaculty owl:disjointWith ActiveStudent.

#ends

