Janothan
Janothan

Reputation: 456

How to express a textual definition using OWL/RDFS?

I have multiple classes. Those classes have multiple labels and a textual definition. While it is clear to me that I can use rdfs:label for names I am currently struggling with a suitable property for definitions.

I think that a label and a definition are different concepts and should not be expressed using the same property. Looking through the RDFS recommendation, I could not find a suitable property. I have seen that rdfs:comment is sometimes used - but I think a comment is different from a definition. Also, rdfs:isDefinedBy does not seem to be a suitable candidate. I could also not come up with a suitable candidate in OWL.

Why is there no rdfs:definition. What am I missing here?

Upvotes: 1

Views: 268

Answers (1)

cygri
cygri

Reputation: 9472

As AKSW said in his, uh, comment: rdfs:comment is intended for exactly that use.

I suppose the word “comment” here is used like it is in programming. The “human-readable definition” of a class or function is usually written in a comment on the function definition.

If you find rdfs:comment too broad, then skos:definition is a good alternative. It is one of the documentation properties in SKOS, and the SKOS Primer says:

skos:definition supplies a complete explanation of the intended meaning of a concept.

While SKOS is mostly known for its ability to define concept schemes, its documentation properties can be used on resources of any type. In fact, documenting an owl:Class is one of the examples given:

In the example graph below, skos:definition has been used to provide a plain text definition for a resource of type owl:Class — this is consistent with the SKOS data model.

<Protein> rdf:type owl:Class ;
    skos:definition """A physical entity consisting of
        a sequence of amino-acids; a protein monomer;
        a single polypeptide chain. An example is the
        EGFR protein."""@en .

Upvotes: 2

Related Questions