The Mediathek ontology
Photos, films and the people, events, places and life areas they belong to. A thin layer over schema.org, FOAF, RELATIONSHIP, SKOS and Web Annotation.
The T-Box only: it defines kinds of things and how they relate, and holds no family's data. Each vault's A-Box, the actual people, events and places, lives in the Mediathek and is never published here.
Classes
| Term | en | de | fr |
|---|---|---|---|
mt:Albumis a schema:Collection | Album | Album | Album |
mt:Documentis a mt:Item, schema:DigitalDocumentAn office document or other file, kept as its original (ADR-0014). What it says is described by a summary that is reviewed (ADR-0016). | Document | Dokument | Document |
mt:Eventis a schema:Event | Event | Ereignis | Événement |
mt:FaceAnnotationis a oa:AnnotationA region of a photo (oa:hasTarget with a media-fragment selector, xywh=percent:…) and the person it shows (oa:hasBody). Only names confirmed by a person; face vectors never appear in any A-Box. | Face | Gesicht | Visage |
mt:Familyis a foaf:Group | Family | Familie | Famille |
mt:Itemis a schema:MediaObjectOne piece of media in the Mediathek, identified by the SHA-256 of its original bytes. | Item | Medium | Média |
mt:Personis a foaf:Person, schema:PersonSomeone, identified by a minted id; the name is only a label. A person without a name is someone seen on photos and kept together (their faces look alike) but not yet recognised. | Person | Person | Personne |
mt:PetAn animal of the family, identified by a minted id like a person; the name is only a label. Found on photos by the edge (a detector, then crops that look alike), named by the family. | Pet | Haustier | Animal de compagnie |
mt:Photois a mt:Item, schema:ImageObject, foaf:Image | Photo | Foto | Photo |
mt:Placeis a schema:Place | Place | Ort | Lieu |
mt:Videois a mt:Item, schema:VideoObject | Video | Video | Vidéo |
Properties
| Term | en | de | fr |
|---|---|---|---|
mt:classmateOf objectmt:Person → mt:Person Went to the same class. The RELATIONSHIP vocabulary has no such term. | classmate of | Klassenkamerad von | camarade de classe de |
mt:documentType object, one valuemt:Document → skos:Concept A concept from mt:DocumentTypes, e.g. mt:Invoice. | document type | Art des Dokuments | type de document |
mt:eventType object, one valuemt:Event → skos:Concept A concept from mt:EventTypes, e.g. mt:ClassReunion. | event type | Art des Ereignisses | type d'événement |
mt:geonames objectmt:Place → anything narrows owl:sameAs | GeoNames entry | GeoNames-Eintrag | entrée GeoNames |
mt:inAlbum objectmt:Item → mt:Album | in album | im Album | dans l'album |
mt:lifeArea objectanything → skos:Concept A concept from mt:LifeAreas (School, Work, Family, …) for an item, album or event. | life area | Lebensbereich | domaine de vie |
mt:member objectmt:Family → mt:Person narrows foaf:member | member | Mitglied | membre |
mt:mergedInto object, one valuemt:Person or mt:Pet → [ ] narrows owl:sameAsThis record turned out to be another person (an unknown given a name that exists). Kept so that face boxes and links elsewhere pointing at it still resolve. | same person as | dieselbe Person wie | même personne que |
mt:ofEvent objectmt:Item → mt:Event narrows schema:aboutThe event a photo or film was taken at. | taken at | aufgenommen bei | pris lors de |
mt:partOfPlace objectmt:Place → mt:Place narrows schema:containedInPlaceCountry ← region ← town ← venue. | part of | liegt in | fait partie de |
mt:place objectanything → mt:Place narrows schema:locationWhere an item was taken or an event took place. | place | Ort | lieu |
mt:sha256 datatype, one valuemt:Item → xsd:string Lowercase hex SHA-256 of the original: the item's identity in every environment. | SHA-256 | SHA-256 | SHA-256 |
mt:species datatype, one valuemt:Pet → xsd:string What kind of animal: dog, cat, horse, rabbit, guinea pig, hamster or bird. | species | Tierart | espèce |
mt:summaryState object, one valuemt:Item → skos:Concept mt:SummaryDraft (written by the agent, not looked at yet) or mt:SummaryChecked (a person read and checked it). | summary state | Stand der Zusammenfassung | état du résumé |
mt:year datatype, one valuemt:Item → xsd:gYear The year a photo or film was taken, set by hand when the file's own date is wrong or missing (a scan, a copy). It replaces the file's year; the month and day are not guessed. | year | Jahr | année |
Borrowed terms
Terms from standard vocabularies, and what they mean in the Mediathek.
| Term | en | de | fr |
|---|---|---|---|
foaf:depicts | shows | zeigt | montre |
rel:childOf | child of | Kind von | enfant de |
rel:friendOf | friend of | befreundet mit | ami de |
rel:grandchildOf | grandchild of | Enkelkind von | petit-enfant de |
rel:grandparentOf | grandparent of | Großelternteil von | grand-parent de |
rel:parentOf | parent of | Elternteil von | parent de |
rel:siblingOf | sibling of | Geschwister von | frère ou sœur de |
rel:spouseOf | spouse of | Ehepartner von | époux ou épouse de |
schema:abstractWhat an item (a photo, a film or a document) shows or says, at most one per language (en, de, fr), written by the agent and reviewed by a person; mt:summaryState says how far. | summary | Zusammenfassung | résumé |
schema:attendee | attendee | Teilnehmer | participant |
schema:dateCreatedThe date the item itself carries (an invoice's date, a date written on a photo), not the file's. | document date | Datum des Dokuments | date du document |
schema:mentionsA person, pet, place or event an item names or is about: a document's parties and subject, a film's occasion. | mentions | nennt | mentionne |
schema:superEventAn occurrence ("Birthday 2017") is part of a generic event ("Birthdays"), which has no date. Photos of the occurrence count for the generic event too. | part of | Teil von | fait partie de |
Rules (SHACL)
What the cloud checks on every save of an A-Box; a save that breaks one is refused with the message shown.
mtsh:ConceptShape for every skos:Concept
| Path | Rule | When it is broken |
|---|---|---|
skos:prefLabel | one per language · at least 1 matching [ ] | A concept needs exactly one English prefLabel: English is the master language. |
skos:inScheme | at least 1 | A concept belongs to a scheme (mt:EventTypes, mt:LifeAreas, …). |
mtsh:DocumentShape for every mt:Document
| Path | Rule | When it is broken |
|---|---|---|
mt:documentType | at most 1 · shape mtsh:InDocumentTypes | A document has at most one type, from mt:DocumentTypes (e.g. mt:Invoice). |
mtsh:EventShape for every mt:Event
| Path | Rule | When it is broken |
|---|---|---|
skos:prefLabel | rdf:langString · one per language | A name's translations: at most one per language, each with its language tag. |
schema:name | at least 1 | An event needs a name, e.g. "Klassentreffen 2019". |
mt:eventType | exactly 1 · shape mtsh:InEventTypes | An event has exactly one type from mt:EventTypes (e.g. mt:ClassReunion). |
schema:startDate | at most 1 · xsd:date or xsd:dateTime or xsd:gYear or xsd:gYearMonth | An event has at most one start: a date, a date-time, a year or a year-month. A generic event ("Birthdays") has none. |
schema:endDate | at most 1 | |
mt:place | a mt:Place | An event's place is an mt:Place. |
schema:attendee | a mt:Person | Attendees are persons. |
schema:superEvent | a mt:Event | An event is part of another event. |
mt:lifeArea | shape mtsh:InLifeAreas | Life areas come from mt:LifeAreas. |
mtsh:FaceShape for every mt:FaceAnnotation
| Path | Rule | When it is broken |
|---|---|---|
oa:hasBody | exactly 1 · a mt:Person | A face shows exactly one person. |
[ ] | at least 1 · a mt:Photo | A face is a region of a photo. |
[ ] | at least 1 · matches /^xywh=percent:[0-9.]+,[0-9.]+,[0-9.]+,[0-9.]+$/ | A face region is a media fragment, xywh=percent:x,y,w,h. |
mtsh:FamilyShape for every mt:Family
| Path | Rule | When it is broken |
|---|---|---|
skos:prefLabel | rdf:langString · one per language | A name's translations: at most one per language, each with its language tag. |
schema:name | at least 1 | A family needs a name. |
mt:member | at least 1 · a mt:Person | A family has at least one member, and members are persons. |
mtsh:ItemShape for every mt:Photo, mt:Video, mt:Document
| Path | Rule | When it is broken |
|---|---|---|
mt:sha256 | exactly 1 · xsd:string · matches /^[0-9a-f]{64}$/ | An item is identified by one lowercase hex SHA-256. |
foaf:depicts | mt:Person or mt:Pet | A photo shows persons and pets. |
mt:ofEvent | a mt:Event | An item is taken at an event. |
mt:year | at most 1 · xsd:gYear | An item has at most one year set by hand, a year such as "1987"^^xsd:gYear. |
mt:place | a mt:Place | |
mt:lifeArea | shape mtsh:InLifeAreas | Life areas come from mt:LifeAreas. |
mtsh:PersonShape for every mt:Person
| Path | Rule | When it is broken |
|---|---|---|
schema:name | at most 1 · xsd:string | A person has at most one name (schema:name), a plain string. None means not yet recognised. |
mt:hidden | at most 1 · xsd:boolean | mt:hidden is one true or false. |
mt:mergedInto | at most 1 · a mt:Person | mt:mergedInto points at one other person. |
rel:parentOf | a mt:Person | parentOf links two persons. |
rel:childOf | a mt:Person | childOf links two persons. |
rel:siblingOf | a mt:Person | siblingOf links two persons. |
rel:spouseOf | a mt:Person | spouseOf links two persons. |
rel:grandparentOf | a mt:Person | grandparentOf links two persons. |
rel:grandchildOf | a mt:Person | grandchildOf links two persons. |
rel:friendOf | a mt:Person | friendOf links two persons. |
mt:classmateOf | a mt:Person | classmateOf links two persons. |
schema:birthDate | at most 1 · xsd:date or xsd:gYear | birthDate is a date or a year. |
mtsh:PetShape for every mt:Pet
| Path | Rule | When it is broken |
|---|---|---|
schema:name | at most 1 · xsd:string | A pet has at most one name (schema:name), a plain string. None means not yet named. |
mt:species | at most 1 · one of <dog>, <cat>, <horse>, <rabbit>, <guinea pig>, <hamster>, <bird> | mt:species is one of dog, cat, horse, rabbit, guinea pig, hamster, bird. |
mt:hidden | at most 1 · xsd:boolean | mt:hidden is one true or false. |
mt:mergedInto | at most 1 · a mt:Pet | mt:mergedInto points at one other pet. |
mtsh:PictureShape for every mt:Photo, mt:Video
| Path | Rule | When it is broken |
|---|---|---|
mt:documentType | at most 0 | Only a document has a document type. |
mtsh:PlaceShape for every mt:Place
| Path | Rule | When it is broken |
|---|---|---|
skos:prefLabel | rdf:langString · one per language | A name's translations: at most one per language, each with its language tag. |
schema:name | at least 1 | A place needs a name. |
mt:partOfPlace | a mt:Place | A place lies in another place. |
wgs84:lat | at most 1 · xsd:decimal · -90 to 90 | |
wgs84:long | at most 1 · xsd:decimal · -180 to 180 |
mtsh:SummaryShape for every mt:Photo, mt:Video, mt:Document
| Path | Rule | When it is broken |
|---|---|---|
schema:abstract | rdf:langString · in en, de, fr · one per language | An item has at most one summary per language, in en, de or fr, each with its language tag. |
schema:dateCreated | at most 1 · xsd:date or xsd:gYear or xsd:gYearMonth | An item has at most one date of its own: a date, a year or a year-month. |
schema:mentions | mt:Person or mt:Pet or mt:Place or mt:Event | An item mentions persons, pets, places and events. |
mt:summaryState | at most 1 · shape mtsh:InSummaryStates | A summary's state is mt:SummaryDraft or mt:SummaryChecked. |
mtsh:InDocumentTypes used by other shapes
| Path | Rule | When it is broken |
|---|---|---|
skos:inScheme | always mt:DocumentTypes |
mtsh:InEventTypes used by other shapes
| Path | Rule | When it is broken |
|---|---|---|
skos:inScheme | always mt:EventTypes |
mtsh:InLifeAreas used by other shapes
| Path | Rule | When it is broken |
|---|---|---|
skos:inScheme | always mt:LifeAreas |
mtsh:InSummaryStates used by other shapes
| Path | Rule | When it is broken |
|---|---|---|
skos:inScheme | always mt:SummaryStates |
Concepts (SKOS)
The fixed vocabularies a person picks from. English is the master; German and French are shown to people who chose them.
Document types mt:DocumentTypes, 20 concepts
| Term | en | de | fr |
|---|---|---|---|
mt:BankStatement | Bank statement | Kontoauszug | Relevé bancaire |
mt:Certificatealso Diploma, Bescheinigung, Diplôme, Attestation | Certificate | Urkunde | Certificat |
mt:Contractalso Agreement | Contract | Vertrag | Contrat |
mt:Formalso Antrag, Demande, Application | Form | Formular | Formulaire |
mt:InsuranceDocumentalso Policy, Police, Sinistre | Insurance | Versicherung | Assurance |
mt:Invoicealso Bill | Invoice | Rechnung | Facture |
mt:Letteralso Schreiben, Courrier | Letter | Brief | Lettre |
mt:Manualalso Bedienungsanleitung, Notice | Manual | Anleitung | Mode d'emploi |
mt:MedicalDocumentalso Arztbrief, Ordonnance, Prescription | Medical | Medizinisch | Médical |
mt:Notes | Notes | Notizen | Notes |
mt:OtherDocument | Other document | Anderes Dokument | Autre document |
mt:Payslipalso Lohnabrechnung, Bulletin de salaire | Payslip | Gehaltsabrechnung | Fiche de paie |
mt:Presentation | Presentation | Präsentation | Présentation |
mt:Receiptalso Kassenbon, Ticket de caisse | Receipt | Quittung | Reçu |
mt:Report | Report | Bericht | Rapport |
mt:ReportCard | Report card | Zeugnis | Bulletin scolaire |
mt:SchoolWorkalso Homework, Hausaufgabe, Devoir | School work | Schularbeit | Travail scolaire |
mt:Spreadsheetalso List, Liste, Liste | Spreadsheet | Tabelle | Tableur |
mt:TaxDocumentalso Steuerbescheid, Avis d'imposition | Tax | Steuer | Impôts |
mt:Warrantyalso Guarantee | Warranty | Garantie | Garantie |
Event types mt:EventTypes, 37 concepts
| Term | en | de | fr |
|---|---|---|---|
mt:Celebration | Celebration | Fest | Célébration |
mt:Anniversaryalso Anniversaire, Jubilee, Jahrestag | Anniversary | Jubiläum | Jubilé |
mt:Birthday | Birthday | Geburtstag | Anniversaire |
mt:Christeningalso Baptism | Christening | Taufe | Baptême |
mt:Confirmationalso Firmung, Profession de foi | Confirmation | Konfirmation | Confirmation |
mt:FirstCommunion | First communion | Erstkommunion | Première communion |
mt:Wedding | Wedding | Hochzeit | Mariage |
mt:WeddingAnniversary | Wedding anniversary | Hochzeitstag | Anniversaire de mariage |
mt:Everydayalso Daily life, Vie quotidienne | Everyday | Alltag | Quotidien |
mt:Gathering | Gathering | Treffen | Rencontre |
mt:ClassReunionalso School reunion, Jahrgangstreffen, Réunion d'anciens élèves | Class reunion | Klassentreffen | Retrouvailles de classe |
mt:FamilyReunion | Family reunion | Familientreffen | Réunion de famille |
mt:Partyalso Party, Soirée | Party | Feier | Fête |
mt:Housewarming | Housewarming | Einweihungsfeier | Pendaison de crémaillère |
mt:LifeEvent | Life event | Lebensereignis | Étape de vie |
mt:Birth | Birth | Geburt | Naissance |
mt:Funeralalso Trauerfeier, Funérailles | Funeral | Beerdigung | Obsèques |
mt:MovingHouse | Moving house | Umzug | Déménagement |
mt:Retirement | Retirement | Ruhestand | Départ à la retraite |
mt:Performancealso Concert, Konzert, Concert | Performance | Aufführung | Spectacle |
mt:SchoolEvent | School event | Schulereignis | Événement scolaire |
mt:FirstSchoolDay | First day of school | Einschulung | Premier jour d'école |
mt:Graduationalso Abitur, Baccalauréat | Graduation | Schulabschluss | Remise des diplômes |
mt:SchoolTrip | School trip | Klassenfahrt | Voyage scolaire |
mt:SeasonalHoliday | Seasonal holiday | Feiertag | Fête calendaire |
mt:Carnivalalso Fasching, Fastnacht, Mardi gras | Carnival | Karneval | Carnaval |
mt:Christmas | Christmas | Weihnachten | Noël |
mt:Easter | Easter | Ostern | Pâques |
mt:Halloween | Halloween | Halloween | Halloween |
mt:NewYearsEve | New Year's Eve | Silvester | Réveillon du Nouvel An |
mt:SportsEventalso Match, Wettkampf, Compétition | Sports event | Sportveranstaltung | Événement sportif |
mt:Travel | Trip | Reise | Voyage |
mt:DayTripalso Outing, Sortie, Hike, Wanderung, Randonnée | Day trip | Ausflug | Excursion |
mt:Vacationalso Vacation, Ferien | Holiday | Urlaub | Vacances |
mt:WeekendTrip | Weekend trip | Wochenendausflug | Week-end |
mt:WorkEvent | Work event | Berufliches Ereignis | Événement professionnel |
mt:CompanyParty | Company party | Betriebsfeier | Fête d'entreprise |
Life areas mt:LifeAreas, 9 concepts
| Term | en | de | fr |
|---|---|---|---|
mt:AreaFamily | Family | Familie | Famille |
mt:AreaFriends | Friends | Freunde | Amis |
mt:AreaHobbies | Hobbies | Hobbys | Loisirs |
mt:AreaHome | Home | Zuhause | Maison |
mt:AreaNature | Nature | Natur | Nature |
mt:AreaSchool | School | Schule | École |
mt:AreaSport | Sport | Sport | Sport |
mt:AreaTravel | Travel | Reisen | Voyages |
mt:AreaWork | Work | Arbeit | Travail |
Summary states mt:SummaryStates, 2 concepts
| Term | en | de | fr |
|---|---|---|---|
mt:SummaryChecked | Checked | Geprüft | Vérifié |
mt:SummaryDraft | AI draft | KI-Entwurf | Brouillon IA |
Prefixes
dcterms: | http://purl.org/dc/terms/ |
foaf: | http://xmlns.com/foaf/0.1/ |
mt: | https://mediathek.digitalhome.cloud/ontology# |
mtsh: | https://mediathek.digitalhome.cloud/shapes# |
oa: | http://www.w3.org/ns/oa# |
owl: | http://www.w3.org/2002/07/owl# |
rdf: | http://www.w3.org/1999/02/22-rdf-syntax-ns# |
rdfs: | http://www.w3.org/2000/01/rdf-schema# |
rel: | http://purl.org/vocab/relationship/ |
schema: | https://schema.org/ |
sh: | http://www.w3.org/ns/shacl# |
skos: | http://www.w3.org/2004/02/skos/core# |
wgs84: | http://www.w3.org/2003/01/geo/wgs84_pos# |
xsd: | http://www.w3.org/2001/XMLSchema# |