@prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix dct: . @prefix vann: . @prefix skos: . @prefix schema: . @prefix org: . @prefix time: . @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 and the W3C Organization Ontology with custom classes and properties for modeling migrations, organizational memberships, interpersonal relationships, religion affiliations, and temporal uncertainty in the context of European theatre history."@en ; owl:imports ; owl:imports ; 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:FuzzyInterval a owl:Class ; rdfs:subClassOf time:TemporalEntity ; rdfs:label "FuzzyInterval"@en ; rdfs:comment "An entity with uncertain temporal bounds, modeled via tm:uncertainBeginning and tm:uncertainEnd pointing to time:DateTimeInterval resources."@en ; rdfs:isDefinedBy . tm:Migration a owl:Class ; rdfs:subClassOf tm:FuzzyInterval ; rdfs:label "Migration"@en ; rdfs:comment "A migration event recording the movement of a person from one place to another."@en ; rdfs:isDefinedBy . tm:Relationship a owl:Class ; rdfs:subClassOf tm:FuzzyInterval ; rdfs:label "Relationship"@en ; rdfs:comment "An interpersonal relationship between two persons."@en ; rdfs:isDefinedBy . tm:PersonName a owl:Class ; rdfs:subClassOf tm:FuzzyInterval ; 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:subClassOf tm:FuzzyInterval ; 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: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:hasReason a owl:ObjectProperty ; rdfs:label "hasReason"@en ; rdfs:comment "A reason for this migration."@en ; rdfs:domain tm:Migration ; rdfs:range tm:MigrationReason ; rdfs:isDefinedBy . # ============================================================================= # Object properties — org:Membership (work engagements) # # Work engagements are modeled as org:Membership instances. The properties # org:member and org:organization from the W3C Organization Ontology are # used directly. The following custom properties extend org:Membership with # domain-specific information. # ============================================================================= org:Membership rdfs:subClassOf tm:FuzzyInterval . tm:workLocation a owl:ObjectProperty ; rdfs:label "workLocation"@en ; rdfs:comment "The place where this work engagement took place."@en ; rdfs:domain org:Membership ; rdfs:range schema:Place ; rdfs:isDefinedBy . tm:secondaryOrganisation a owl:ObjectProperty ; rdfs:label "secondaryOrganisation"@en ; rdfs:comment "A secondary organisation associated with this work engagement."@en ; rdfs:domain org:Membership ; 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 org:Membership ; rdfs:range schema:Occupation ; rdfs:isDefinedBy . tm:secondaryProfession a owl:ObjectProperty ; rdfs:label "secondaryProfession"@en ; rdfs:domain org:Membership ; rdfs:range schema:Occupation ; rdfs:isDefinedBy . tm:tertiaryProfession a owl:ObjectProperty ; rdfs:label "tertiaryProfession"@en ; rdfs:domain org:Membership ; rdfs:range schema:Occupation ; rdfs:isDefinedBy . tm:employmentType a owl:ObjectProperty ; rdfs:label "employmentType"@en ; rdfs:domain org:Membership ; 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 — 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 . # ============================================================================= # Object properties — shared temporal properties (FuzzyInterval) # # Temporal uncertainty is modeled using tm:uncertainBeginning and # tm:uncertainEnd, each pointing to a time:DateTimeInterval with # time:hasBeginning/time:hasEnd pointing to time:Instant nodes. # ============================================================================= tm:uncertainBeginning a owl:ObjectProperty ; rdfs:label "uncertainBeginning"@en ; rdfs:comment "The uncertain beginning of this entity, expressed as a time:DateTimeInterval."@en ; rdfs:domain tm:FuzzyInterval ; rdfs:range time:DateTimeInterval ; rdfs:isDefinedBy . tm:uncertainEnd a owl:ObjectProperty ; rdfs:label "uncertainEnd"@en ; rdfs:comment "The uncertain end of this entity, expressed as a time:DateTimeInterval."@en ; rdfs:domain tm:FuzzyInterval ; rdfs:range time:DateTimeInterval ; 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 — org:Membership # ============================================================================= tm:employment a owl:DatatypeProperty ; rdfs:label "employment"@en ; rdfs:comment "Description of the employment arrangement."@en ; rdfs:domain org:Membership ; 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 — 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 .