I completely agree with you that the world of RDF / linked-data vocabularies and ontologies is daunting and can seem bewildering; it often is, to me as well. Part of the reason, I believe, is that working with metadata taxonomies is such a complex task. With Tropy we're hoping to build a tool that is easy to use and yet produces data which can be processed further (or in the future) by other linked-data aware tools and platforms.
For the time being, Tropy is using mostly RDF properties defined by these vocabularies. For our purposes, you can think of an RDF property as consisting of an id and a label. The id is a URI such as
http://purl.org/dc/terms/creator and a label is a corresponding name such as
Creator. The label is basically a shorthand that we use in the UI, that can be customized and translated, but internally the URI is used for everything (basically, the URI is what the computer uses, because it is unique, the label is what we humans use, because we usually have enough context to understand the semantics). The reason I'm mentioning this is just to explain what you need in order to create your own vocabulary to use in Tropy: a list of id / label pairs, that's it. If you do not care about linked-data then the id can basically be anything (it just needs to be unique in your Tropy database); if you're planning for others to use your data (and vocabulary) it would make sense to devise of a sensible URI scheme to use for your ids.
Tropy imports vocabularies in N3 notation. So, to create your own vocabulary, you would create a text file like this:
@prefix ex: <http://www.example.org/example#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ex:numberOfFolios a rdf:Property ;
rdfs:label "Number of Folios" .
ex:relAfricanTextProportion a rdf:Property ;
rdfs:label "Relative Proportion of African Language Text" .
You could save this file as
ex.n3 for example and import into Tropy. If you make changes to the file you can delete the vocabulary in Tropy and import it again. Obviously you would use your own 'namespace' instead of 'ex' as well as your own URI scheme in the ex
@prefix. Basically, your vocabulary is just a list of properties following the syntax:
ns:name a rdf:Property ; rdfs:label "Name" .
A larger question would be about the possibility of just simply using Tropy or some modified version of it tailored for our purposes so that all the properties from the catalogue were automatically applied to the images in Tropy.
Tropy currently supports export plugins; we'll be looking to add import plugins as well. If I understand you correctly, this sounds like a situation where an input plugin could be used (i.e. fetching properties from a different data source and applying them to items in Tropy). But that's probably something to discuss separately.