4

The wikipedia article ontology components describes relations as one of the components of an ontology. It states that relations "specify how objects are related to other objects". Is-a/sub-class and partOf relations are provided as examples.

I am trying to understand the difference between a relation and a property/attribute. For instance, dcterms:creator relates a book and its author. Is it a relation or a property? How do ontology description languages such as OWL differentiate this? Is there a computational/logical difference between a relation and a property?

Can we say that if a term links to another class or entity it is a relation and if it is a literal value, then it is a property/attribute?

Natkeeran
  • 1,719
  • 6
  • 29
  • 52
  • 2
    relation usually used to describe relation between two entity, a property /attribute) assigns a literal value (e.g. a date) to an entity. In OWL therefore we have object properties (the relations) and data properties (the property/attribute) – UninformedUser Jun 01 '17 at 00:10
  • 2
    @AKSW - your comment seems a complete answer, why not post it as the answer? – chrisis Jun 01 '17 at 07:48
  • 1
    `dcterms:author` is a relation, its range is `dcterms:Agent`, not `rdfs:Literal` (and instances of `dcterms:Agent` might have their own relations or properties, while instances of `rdfs:Literal` mightn't). – Stanislav Kralin Jun 02 '17 at 08:21
  • 1
    In [OWL 2](https://www.w3.org/TR/owl2-primer/#Advanced_Use_of_Properties), object properties might possess different characteristics, while data properties mightn't ([cf.](https://i.stack.imgur.com/WSLUc.png), but also data properties might be keys). Data properties can not be parts of property chains. It's [all](https://www.w3.org/TR/owl2-syntax/#Global_Restrictions_on_Axioms_in_OWL_2_DL) due to decidability reasons. – Stanislav Kralin Jun 02 '17 at 08:22
  • Thank you for the comments. It does give me better insight with respect to the difference. – Natkeeran Jun 02 '17 at 15:07

1 Answers1

1

Can we say that if a term links to another class or entity it is a relation and if it is a literal value, then it is a property/attribute?

Yes, this is pretty much the difference.

An entity will be assigned its own URI, and might be assigned a class type, a label, and any number of other attributes. It can appear in any one position of a (subject predicate object) triple.

Meanwhile a property/attribute will not have a URI, instead be stored directly as some datatyped variable. It can only be referenced as the Object in any future (subject predicate object) triple.

I think about it in terms of properties being the terminal points of any network of connected data. It's only really the properties that you can show to a user that they will be able to make sense of, as the raw URIs that are used to describe entities and the linkages between them are not always very human friendly. The entities are the abstract objects that we link together and reference most of the time when we construct our triples, but it is the properties and attributes that we use whenever we need to unpack the semantic content of those entities for consumption by a human being.

Thomas Kimber
  • 10,601
  • 3
  • 25
  • 42