Replace tm:reason and tm:secondaryReason with a single tm:hasReason
property (937 triples). Refactor 6 flat date properties into structured
tm:uncertainBeginning/tm:uncertainEnd intervals using W3C OWL-Time,
introducing tm:FuzzyInterval as a superclass of tm:Migration,
org:Membership, tm:Relationship, tm:PersonName, and
tm:ReligionAffiliation. Output: data/graph-08.ttl (218,251 triples).
- Remove redundant tm:secondaryOrganisation when it equals org:organization (230)
- Promote tm:secondaryOrganisation to org:organization when no primary exists (256)
- Replace tm:PersonProfession intermediate class with direct schema:hasOccupation
links from persons to schema:Occupation instances (742 instances removed)
- Remove tm:PersonProfession class and its properties from the ontology
- Add step-07 binary, Rakefile task, figures, and documentation
SPARQL CONSTRUCT queries transform graph-05 into graph-06 using the tm:
vocabulary. Persons keep schema:Person properties, works become
org:Membership, professions become schema:Occupation, enumerations
become skos:Concept with tm: subtypes. Split 010-occupations into two
query files (passthrough + retype). Includes step-06 binary, Rakefile
tasks, and example data for Irene Abendroth.
SPARQL UPDATE queries add standard vocabulary properties alongside
existing custom predicates: schema:Person/Place/Organization types,
schema:givenName/familyName/birthDate, owl:sameAs for authority links,
wgs84:lat/long for coordinates, skos:Concept/prefLabel for enumerations,
and rdfs:label for persons.
Add namespace prefixes (rdfs, migrants, person, personp, work, workp,
location, locationp) to query files. Use --prettify in Rake tasks so
example files use abbreviated IRIs. Fix 2hop task to use graph-02.