@prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix dct: . @prefix vann: . @prefix skos: . @prefix schema: . @prefix tm: . # ============================================================================= # Ontology metadata # ============================================================================= a owl:Ontology ; rdfs:label "Theatre Migrants Ontology"@en ; rdfs:comment "Ontology for the Theatre Migrants Knowledge Graph, documenting professional migrations of theatre practitioners across Europe (1850–1918)."@en ; dct:title "Theatre Migrants Ontology"@en ; dct:description "A domain ontology extending Schema.org with custom classes and properties for modeling migrations, work engagements, interpersonal relationships, religion affiliations, and temporal uncertainty in the context of European theatre history."@en ; dct:created "2025-01-01"^^xsd:date ; dct:license ; dct:creator ; dct:creator [ a schema:Person ; schema:name "Jorit Hopp" ; schema:affiliation "Institut der Theaterwissenschaft, Ludwig Maximilian University of Munich" ] ; dct:creator [ a schema:Person ; schema:name "Berenika Szymanski" ; schema:affiliation "Institut der Theaterwissenschaft, Ludwig Maximilian University of Munich" ] ; dct:creator [ a schema:Person ; schema:name "Yan Lin" ; schema:affiliation "Institut der Theaterwissenschaft, Ludwig Maximilian University of Munich" ] ; vann:preferredNamespaceUri "https://daniel.degu.cl/ontologies/theatre-migrants/" ; vann:preferredNamespacePrefix "tm" ; owl:versionInfo "0.1.0" . a schema:Person ; schema:name "Daniel Hernandez" ; schema:affiliation "Institute for Artificial Intelligence, University of Stuttgart" . # ============================================================================= # Classes — domain-specific # ============================================================================= tm:Migration a owl:Class ; rdfs:label "Migration"@en ; rdfs:comment "A migration event recording the movement of a person from one place to another."@en ; rdfs:isDefinedBy . tm:Work a owl:Class ; rdfs:label "Work"@en ; rdfs:comment "A professional engagement of a person at an organisation in a given location and time period."@en ; rdfs:isDefinedBy . tm:Relationship a owl:Class ; rdfs:label "Relationship"@en ; rdfs:comment "An interpersonal relationship between two persons."@en ; rdfs:isDefinedBy . tm:PersonProfession a owl:Class ; rdfs:label "PersonProfession"@en ; rdfs:comment "An association between a person and a profession label."@en ; rdfs:isDefinedBy . tm:PersonName a owl:Class ; rdfs:label "PersonName"@en ; rdfs:comment "An alternative or historical name for a person, optionally typed and time-bounded."@en ; rdfs:isDefinedBy . tm:ReligionAffiliation a owl:Class ; rdfs:label "ReligionAffiliation"@en ; rdfs:comment "A person's affiliation with a religion during a given period."@en ; rdfs:isDefinedBy . tm:ImportSource a owl:Class ; rdfs:label "ImportSource"@en ; rdfs:comment "The provenance source from which a person record was imported."@en ; rdfs:isDefinedBy . # ============================================================================= # Classes — enumeration types (subclasses of skos:Concept) # ============================================================================= tm:Continent a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "Continent"@en ; rdfs:isDefinedBy . tm:Country a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "Country"@en ; rdfs:isDefinedBy . tm:State a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "State"@en ; rdfs:isDefinedBy . tm:City a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "City"@en ; rdfs:isDefinedBy . tm:MigrationReason a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "MigrationReason"@en ; rdfs:isDefinedBy . tm:InstitutionType a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "InstitutionType"@en ; rdfs:isDefinedBy . tm:NameType a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "NameType"@en ; rdfs:isDefinedBy . tm:RelationshipType a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "RelationshipType"@en ; rdfs:isDefinedBy . tm:RelationshipTypePrecise a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "RelationshipTypePrecise"@en ; rdfs:isDefinedBy . tm:Religion a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "Religion"@en ; rdfs:isDefinedBy . tm:Profession a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "Profession"@en ; rdfs:isDefinedBy . tm:EmploymentType a owl:Class ; rdfs:subClassOf skos:Concept ; rdfs:label "EmploymentType"@en ; rdfs:isDefinedBy . # ============================================================================= # Object properties — Person # ============================================================================= tm:importSource a owl:ObjectProperty ; rdfs:label "importSource"@en ; rdfs:comment "The provenance source from which this person record was imported."@en ; rdfs:domain schema:Person ; rdfs:range tm:ImportSource ; rdfs:isDefinedBy . tm:continent a owl:ObjectProperty ; rdfs:label "continent"@en ; rdfs:domain schema:Place ; rdfs:range tm:Continent ; rdfs:isDefinedBy . tm:country a owl:ObjectProperty ; rdfs:label "country"@en ; rdfs:domain schema:Place ; rdfs:range tm:Country ; rdfs:isDefinedBy . tm:state a owl:ObjectProperty ; rdfs:label "state"@en ; rdfs:domain schema:Place ; rdfs:range tm:State ; rdfs:isDefinedBy . tm:city a owl:ObjectProperty ; rdfs:label "city"@en ; rdfs:domain schema:Place ; rdfs:range tm:City ; rdfs:isDefinedBy . tm:institutionType a owl:ObjectProperty ; rdfs:label "institutionType"@en ; rdfs:domain schema:Organization ; rdfs:range tm:InstitutionType ; rdfs:isDefinedBy . # ============================================================================= # Object properties — Migration # ============================================================================= tm:migrant a owl:ObjectProperty ; rdfs:label "migrant"@en ; rdfs:comment "The person who migrated."@en ; rdfs:domain tm:Migration ; rdfs:range schema:Person ; rdfs:isDefinedBy . tm:startPlace a owl:ObjectProperty ; rdfs:label "startPlace"@en ; rdfs:comment "The place from which the migration started."@en ; rdfs:domain tm:Migration ; rdfs:range schema:Place ; rdfs:isDefinedBy . tm:destinationPlace a owl:ObjectProperty ; rdfs:label "destinationPlace"@en ; rdfs:comment "The place to which the person migrated."@en ; rdfs:domain tm:Migration ; rdfs:range schema:Place ; rdfs:isDefinedBy . tm:reason a owl:ObjectProperty ; rdfs:label "reason"@en ; rdfs:comment "The primary reason for this migration."@en ; rdfs:domain tm:Migration ; rdfs:range tm:MigrationReason ; rdfs:isDefinedBy . tm:secondaryReason a owl:ObjectProperty ; rdfs:label "secondaryReason"@en ; rdfs:comment "A secondary reason for this migration."@en ; rdfs:domain tm:Migration ; rdfs:range tm:MigrationReason ; rdfs:isDefinedBy . # ============================================================================= # Object properties — Work # ============================================================================= tm:worker a owl:ObjectProperty ; rdfs:label "worker"@en ; rdfs:comment "The person engaged in this work."@en ; rdfs:domain tm:Work ; rdfs:range schema:Person ; rdfs:isDefinedBy . tm:workLocation a owl:ObjectProperty ; rdfs:label "workLocation"@en ; rdfs:comment "The place where this work engagement took place."@en ; rdfs:domain tm:Work ; rdfs:range schema:Place ; rdfs:isDefinedBy . tm:workOrganisation a owl:ObjectProperty ; rdfs:label "workOrganisation"@en ; rdfs:comment "The primary organisation where this work engagement took place."@en ; rdfs:domain tm:Work ; rdfs:range schema:Organization ; rdfs:isDefinedBy . tm:secondaryOrganisation a owl:ObjectProperty ; rdfs:label "secondaryOrganisation"@en ; rdfs:comment "A secondary organisation associated with this work engagement."@en ; rdfs:domain tm:Work ; rdfs:range schema:Organization ; rdfs:isDefinedBy . tm:profession a owl:ObjectProperty ; rdfs:label "profession"@en ; rdfs:comment "The primary profession exercised in this work engagement."@en ; rdfs:domain tm:Work ; rdfs:range tm:Profession ; rdfs:isDefinedBy . tm:secondaryProfession a owl:ObjectProperty ; rdfs:label "secondaryProfession"@en ; rdfs:domain tm:Work ; rdfs:range tm:Profession ; rdfs:isDefinedBy . tm:tertiaryProfession a owl:ObjectProperty ; rdfs:label "tertiaryProfession"@en ; rdfs:domain tm:Work ; rdfs:range tm:Profession ; rdfs:isDefinedBy . tm:employmentType a owl:ObjectProperty ; rdfs:label "employmentType"@en ; rdfs:domain tm:Work ; rdfs:range tm:EmploymentType ; rdfs:isDefinedBy . # ============================================================================= # Object properties — Relationship # ============================================================================= tm:activePerson a owl:ObjectProperty ; rdfs:label "activePerson"@en ; rdfs:comment "The person from whose perspective the relationship is described."@en ; rdfs:domain tm:Relationship ; rdfs:range schema:Person ; rdfs:isDefinedBy . tm:passivePerson a owl:ObjectProperty ; rdfs:label "passivePerson"@en ; rdfs:comment "The other person in the relationship."@en ; rdfs:domain tm:Relationship ; rdfs:range schema:Person ; rdfs:isDefinedBy . tm:relationshipLocation a owl:ObjectProperty ; rdfs:label "relationshipLocation"@en ; rdfs:domain tm:Relationship ; rdfs:range schema:Place ; rdfs:isDefinedBy . tm:relationshipOrganisation a owl:ObjectProperty ; rdfs:label "relationshipOrganisation"@en ; rdfs:domain tm:Relationship ; rdfs:range schema:Organization ; rdfs:isDefinedBy . tm:relationshipType a owl:ObjectProperty ; rdfs:label "relationshipType"@en ; rdfs:domain tm:Relationship ; rdfs:range tm:RelationshipType ; rdfs:isDefinedBy . tm:relationshipTypePrecise a owl:ObjectProperty ; rdfs:label "relationshipTypePrecise"@en ; rdfs:domain tm:Relationship ; rdfs:range tm:RelationshipTypePrecise ; rdfs:isDefinedBy . # ============================================================================= # Object properties — PersonProfession # ============================================================================= tm:personProfessionPerson a owl:ObjectProperty ; rdfs:label "person"@en ; rdfs:comment "The person associated with this profession record."@en ; rdfs:domain tm:PersonProfession ; rdfs:range schema:Person ; rdfs:isDefinedBy . tm:enumeratedProfession a owl:ObjectProperty ; rdfs:label "enumeratedProfession"@en ; rdfs:comment "The enumerated profession value associated with this record."@en ; rdfs:domain tm:PersonProfession ; rdfs:range tm:Profession ; rdfs:isDefinedBy . # ============================================================================= # Object properties — PersonName # ============================================================================= tm:personNamePerson a owl:ObjectProperty ; rdfs:label "person"@en ; rdfs:comment "The person associated with this name record."@en ; rdfs:domain tm:PersonName ; rdfs:range schema:Person ; rdfs:isDefinedBy . tm:nameType a owl:ObjectProperty ; rdfs:label "nameType"@en ; rdfs:domain tm:PersonName ; rdfs:range tm:NameType ; rdfs:isDefinedBy . # ============================================================================= # Object properties — ReligionAffiliation # ============================================================================= tm:religionAffiliationPerson a owl:ObjectProperty ; rdfs:label "person"@en ; rdfs:comment "The person associated with this religion affiliation."@en ; rdfs:domain tm:ReligionAffiliation ; rdfs:range schema:Person ; rdfs:isDefinedBy . tm:religion a owl:ObjectProperty ; rdfs:label "religion"@en ; rdfs:domain tm:ReligionAffiliation ; rdfs:range tm:Religion ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — Person # ============================================================================= tm:birthDateMax a owl:DatatypeProperty ; rdfs:label "birthDateMax"@en ; rdfs:comment "Upper bound of the birth date when the exact date is uncertain."@en ; rdfs:domain schema:Person ; rdfs:range xsd:date ; rdfs:isDefinedBy . tm:deathDateMax a owl:DatatypeProperty ; rdfs:label "deathDateMax"@en ; rdfs:comment "Upper bound of the death date when the exact date is uncertain."@en ; rdfs:domain schema:Person ; rdfs:range xsd:date ; rdfs:isDefinedBy . tm:fuzzyBirthDate a owl:DatatypeProperty ; rdfs:label "fuzzyBirthDate"@en ; rdfs:comment "Free-text representation of an uncertain birth date."@en ; rdfs:domain schema:Person ; rdfs:range xsd:string ; rdfs:isDefinedBy . tm:fuzzyDeathDate a owl:DatatypeProperty ; rdfs:label "fuzzyDeathDate"@en ; rdfs:comment "Free-text representation of an uncertain death date."@en ; rdfs:domain schema:Person ; rdfs:range xsd:string ; rdfs:isDefinedBy . tm:birthInfo a owl:DatatypeProperty ; rdfs:label "birthInfo"@en ; rdfs:comment "Additional textual information about the birth."@en ; rdfs:domain schema:Person ; rdfs:range xsd:string ; rdfs:isDefinedBy . tm:deathInfo a owl:DatatypeProperty ; rdfs:label "deathInfo"@en ; rdfs:comment "Additional textual information about the death."@en ; rdfs:domain schema:Person ; rdfs:range xsd:string ; rdfs:isDefinedBy . tm:religionLabel a owl:DatatypeProperty ; rdfs:label "religionLabel"@en ; rdfs:comment "Free-text religion label on the person record."@en ; rdfs:domain schema:Person ; rdfs:range xsd:string ; rdfs:isDefinedBy . tm:imageSource a owl:DatatypeProperty ; rdfs:label "imageSource"@en ; rdfs:comment "URI of the source from which the person's image was obtained."@en ; rdfs:domain schema:Person ; rdfs:range xsd:anyURI ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — Place # ============================================================================= tm:geoNamesID a owl:DatatypeProperty ; rdfs:label "GeoNamesID"@en ; rdfs:comment "The GeoNames identifier for this place."@en ; rdfs:domain schema:Place ; rdfs:range xsd:integer ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — shared temporal properties # # The following properties model temporal uncertainty. Events (Migration, # Work, Relationship, PersonName, ReligionAffiliation) may have imprecise # dates expressed as min/max bounds or fuzzy strings. # ============================================================================= tm:dateStartMin a owl:DatatypeProperty ; rdfs:label "dateStartMin"@en ; rdfs:comment "Lower bound of the start date."@en ; rdfs:range xsd:date ; rdfs:isDefinedBy . tm:dateStartMax a owl:DatatypeProperty ; rdfs:label "dateStartMax"@en ; rdfs:comment "Upper bound of the start date."@en ; rdfs:range xsd:date ; rdfs:isDefinedBy . tm:dateEndMin a owl:DatatypeProperty ; rdfs:label "dateEndMin"@en ; rdfs:comment "Lower bound of the end date."@en ; rdfs:range xsd:date ; rdfs:isDefinedBy . tm:dateEndMax a owl:DatatypeProperty ; rdfs:label "dateEndMax"@en ; rdfs:comment "Upper bound of the end date."@en ; rdfs:range xsd:date ; rdfs:isDefinedBy . tm:dateStartFuzzy a owl:DatatypeProperty ; rdfs:label "dateStartFuzzy"@en ; rdfs:comment "Free-text representation of an uncertain start date."@en ; rdfs:range xsd:string ; rdfs:isDefinedBy . tm:dateEndFuzzy a owl:DatatypeProperty ; rdfs:label "dateEndFuzzy"@en ; rdfs:comment "Free-text representation of an uncertain end date."@en ; rdfs:range xsd:string ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — Migration # ============================================================================= tm:via a owl:DatatypeProperty ; rdfs:label "via"@en ; rdfs:comment "An intermediate place or route description for the migration."@en ; rdfs:domain tm:Migration ; rdfs:range xsd:string ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — Work # ============================================================================= tm:employment a owl:DatatypeProperty ; rdfs:label "employment"@en ; rdfs:comment "Description of the employment arrangement."@en ; rdfs:domain tm:Work ; rdfs:range xsd:string ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — Relationship # ============================================================================= tm:timePeriod a owl:DatatypeProperty ; rdfs:label "timePeriod"@en ; rdfs:comment "Free-text description of the time period of the relationship."@en ; rdfs:domain tm:Relationship ; rdfs:range xsd:string ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — PersonProfession # ============================================================================= tm:professionLabel a owl:DatatypeProperty ; rdfs:label "professionLabel"@en ; rdfs:comment "Free-text label of the profession."@en ; rdfs:domain tm:PersonProfession ; rdfs:range xsd:string ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — PersonName # ============================================================================= tm:personName a owl:DatatypeProperty ; rdfs:label "personName"@en ; rdfs:comment "The given name in this name record."@en ; rdfs:domain tm:PersonName ; rdfs:range xsd:string ; rdfs:isDefinedBy . tm:personSurName a owl:DatatypeProperty ; rdfs:label "personSurName"@en ; rdfs:comment "The surname in this name record."@en ; rdfs:domain tm:PersonName ; rdfs:range xsd:string ; rdfs:isDefinedBy . # ============================================================================= # Datatype properties — ReligionAffiliation # ============================================================================= tm:denomination a owl:DatatypeProperty ; rdfs:label "denomination"@en ; rdfs:comment "The specific denomination within the religion."@en ; rdfs:domain tm:ReligionAffiliation ; rdfs:range xsd:string ; rdfs:isDefinedBy .