@prefix schema: <http://schema.org/> .
@prefix knows:  <https://data.knows.idlab.ugent.be/person/office/#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix org:    <http://www.w3.org/ns/org#> .
@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf:   <http://xmlns.com/foaf/0.1/> .

<#>
    a                   schema:Organization ;
    schema:name         "KNoWS" ;
    schema:location     _:aatower ;
    schema:contactPoint <https://pietercolpaert.be/#me> ;
    <http://www.w3.org/ns/solid/terms#publicTypeIndex> <type-index>.

_:aatower
    a              schema:Place ;
    schema:name    "AA Tower" ;
    schema:address <https://data.vlaanderen.be/id/adres/20470097> .



#########
# Roles #
#########

knows:GuestProfessor a org:Role;
    rdfs:label "Guest professor";
    knows:external true .

knows:Professor a org:Role;
    rdfs:label "Professor";
    knows:external false .

knows:ExternalPostDoc a org:Role;
    rdfs:label "External Postdoctoral Researcher";
    knows:external true .

knows:PostDoc a org:Role;
    rdfs:label "Postdoctoral Researcher";
    knows:external false .

knows:DeliveryManager a org:Role;
    rdfs:label "Delivery Manager";
    knows:external false .

knows:ExternalPreDoc a org:Role;
    rdfs:label "External PhD Student";
    knows:external true .

knows:PreDoc a org:Role;
    rdfs:label "PhD Student";
    knows:external false .

knows:ExternalResearcher a org:Role;
    rdfs:label "External Researcher";
    knows:external true .

knows:Researcher a org:Role;
    rdfs:label "Researcher";
    knows:external false .

knows:SeniorResearcher a org:Role;
    rdfs:label "Senior Researcher";
    knows:external false .

##############
# Properties #
##############

knows:promoter
    a            rdf:Property ;
    rdfs:label   "promoter" ;
    rdfs:comment "Promoter of a master thesis." .

knows:supervisor
    a            rdf:Property ;
    rdfs:label   "supervisor" ;
    rdfs:comment "Supervisor of a master thesis. The person that regularly follows up with the master thesis student." .

knows:external
    a            rdf:Property ;
    rdfs:label   "external" ;
    rdfs:domain  org:Role ;
    rdfs:range   xsd:boolean ;
    rdfs:comment "Denotes whether a role is external or not." .

knows:thesisStatus
    a            rdf:Property ;
    rdfs:label   "thesis status" ;
    rdfs:comment "The status of a master thesis." .

knows:idlabAccountStatus
    a            rdf:Property ;
    rdfs:label   "IDLab account status" ;
    rdfs:comment "The status of the IDLab account." .

knows:accessToMattermostChannels
    a            rdf:Property ;
    rdfs:label   "access to Mattermost channels" ;
    rdfs:comment "The channels on Mattermost a person has access to." .

knows:researchStay
    a            rdf:Property ;
    rdfs:label   "research stay" ;
    rdfs:comment "Links a research stay to an organization." .

knows:visitingResearcher
    a            rdf:Property ;
    rdfs:label   "visiting researcher" ;
    rdfs:comment "Links a visiting researcher to a research stay." .

knows:researchStayStatus
    a            rdf:Property ;
    rdfs:label   "research stay status" ;
    rdfs:comment "The status of a research stay." .

knows:applicationSubmission
    a            rdf:Property ;
    rdfs:label   "application submission" ;
    rdfs:comment "The url where an applicant submits their application for a job." .

knows:showInSolidLabDocumentationCenter
    a            rdf:Property ;
    rdfs:label   "show on SolidLab Documentation Center" ;
    rdfs:comment "If the value is true then the resource, such as a tutorial, is shown on the SolidLab Documentation Center." .

knows:hasChallenge
    a            rdf:Property ;
    rdfs:label   "has challenge" ;
    rdfs:comment "The SolidLab challenges that belong to a SolidLab Scenario." .

knows:solution
    a            rdf:Property ;
    rdfs:label   "solution" ;
    rdfs:comment "The solution for a SolidLab Challenge." .

###########
# Classes #
###########

knows:ApplicationCategory
    a rdfs:Class;
    rdfs:label   "application category" ;
    rdfs:comment "A category of an application." .

knows:ResearchStay
    a rdfs:Class;
    rdfs:label   "research stay" ;
    rdfs:comment "A research stay." .

knows:CommunityGroup
    a rdfs:Class;
    rdfs:label   "W3C Community Group" ;
    rdfs:comment "A W3C Community Group." .

knows:WorkingGroup
    a rdfs:Class;
    rdfs:label   "W3C Working Group" ;
    rdfs:comment "A W3C Working Group." .

knows:SolidLabChallenge
    a rdfs:Class;
    rdfs:label   "SolidLab Challenge" ;
    rdfs:comment "https://github.com/SolidLabResearch/Challenges" .

knows:SolidLabScenario
    a rdfs:Class;
    rdfs:label   "SolidLab Scenario" ;
    rdfs:comment "https://github.com/SolidLabResearch/Challenges" .

knows:NominateAction
    a rdfs:Class;
    rdfs:label   "Nominate Action" ;
    rdfs:subClassOf schema:Action ;
    rdfs:comment """
    This class is used when we want to say that something is nominated for an award. This doesn't necessarily mean that the object got the award.
    """@en .

#############
# Instances #
#############

knows:UGentAccount
    a foaf:OnlineAccount;
    rdfs:label "UGent account".

knows:IDLabAccount
    a foaf:OnlineAccount;
    rdfs:label "IDLab account".

knows:ThesisCancelled
    rdfs:label "This status means that the thesis has been cancelled for a specific student.".

knows:AccountRequested
    rdfs:label "This IDLab account status means that an account has been requested.".

knows:AccountGranted
    rdfs:label "This IDLab account status means that an account has been granted and that the user has logged in at least once.".

knows:ResearchStayOngoing
    rdfs:label "This means that a research stay is currently ongoing.".

knows:ResearchStayFinished
    rdfs:label "This means that a research stay is finished.".
