When constructing ontologies, labels are needed for properties. This is a crucial part of the work, the names will form the XML namespace and are visible as labels in the user interface.
We had a discussion at work about names for predicates. To illustrate it, a bad example (in N3):
:isKnowingperson a rdf:Property; rdfs:Range :Person.
The name is too long, contains a verb (“is”), has a mixed uppercasing (the “p” should be uppercase to ease reading) and contains too much information (Person can be removed, its also in the range.
The practical community preferes nouns (part, location,
topic, related) there is a slight one-sentence reco towards using nouns in the swap primer.
The popular ontology (=foaf) use nouns for literal properties and a verb for knows. Similar relations can be modelled: loves, hates.
SKOS , also uses isXOf for inverse that were hard to define, as is
It seems that the trend is toward shorter forms, gerunds, verbs or nouns.
My summary is: as I want to define inverses, I will try to use nouns
without verb-prepositions whenever possible. When this does not capture
the semantics in a satisfying way, I will use “isXof” and “hasX” or
search for a gerund. In practice the guideline is: use “name” instead of
For NEPOMUK’s PIMO ontology, this would result in:
- part – partOf
- location – locationOf
- topic – topicOf
I would appreciate feedback based on published guidelines on building
ontologies or on other ontologies that had similar problems.