Question about the the rico:Relation class

8 views
Skip to first unread message

Sylvain Loiseau

unread,
Nov 5, 2025, 7:04:42 AM (5 days ago) Nov 5
to Records_in_Contexts_users

Hello,

I have a question about the rico:Relation class. If I understand correctly, there is a set of subclasses of rico:Relation that can be used—instead of a direct connection through an object property—when additional information needs to be provided about the relationship itself.

For example, an instance of rico:CreationRelation can be used to connect a rico:RecordResource and a rico:Agent (via rico:relationHasSource and rico:relationHasTarget) instead of using the direct property rico:hasCreator, when one wishes to include contextual information about the creation. This contextual information can be added through the property rico:roleIsContextOfCreationRelation (and its symmetric property rico:creationWithRole).

If this understanding is correct, I have two related questions regarding these relational classes:

  1. For some relations, there is no dedicated object property for providing contextual information. For instance, rico:PerformanceRelation does not have a property such as rico:roleIsContextOfPerformanceRelation (parallel to rico:roleIsContextOfCreationRelation).
    In such cases, I assume it is appropriate to use the generic rico:thingIsContextOfRelation property — is that correct?
    Furthermore, I assume that the domain of this property could be a rico:RoleType, with a rico:type datatype property used to specify the role. Is this interpretation correct?

  2. There is a rico:AppellationRelation class, which connects a rico:Thing and a rico:Appellation through a subclass of rico:Relation. However, there is no equivalent relational class for rico:Language, which is a sibling of rico:Appellation.
    In the domain I'm working, it would be useful to define a rico:LanguageRelation class that allows for richer descriptions of links between a language and other entities such as a record or a person. For example, a language may be used in a record for specific parts or layers (e.g., primary text, commentary, transcription), or a person may use a language for certain functions, during specific periods, or with varying degrees of proficiency.

Thank you in advance for any thought about this!

Best regards,

Sylvain Loiseau

-----
Sylvain Loiseau
sylvain...@univ-paris13.fr

Université Sorbonne Paris Nord
99 avenue Jean-Baptiste Clément
F-93430 Villetaneuse

Laboratoire « Langues et civilisations à tradition orale » (UMR 7107 CNRS)
Campus CNRS
7, rue Guy Môquet (bât. D)
F-94801 Villejuif Cedex
http://lacito.cnrs.fr  

Florence Clavaud

unread,
Nov 5, 2025, 7:11:29 AM (5 days ago) Nov 5
to Records_in_Contexts_users

Dear Sylvain,

Yes you are right, the Relation classes enable anybody to contextualize a relation. Adding context to a relation can be done through various properties, like rico:relationHasContext (https://www.ica.org/standards/RiC/ontology#relationHasContext) and its subproperties, rico:relationHasDate, rico:isAssociatedWithPlace, rico:generalDescription, rico:relationCertainty, rico:isEvidencedBy, and other ones. See the definition of the upper rico:Relation class (https://www.ica.org/standards/RiC/ontology#Relation): all the properties which have domain rico:Relation can be used for any subclass of rico:Relation.

Most often, for a given relation, the source or the target can be multiple. For example rico:CreationRelation (https://www.ica.org/standards/RiC/ontology#CreationRelation) can connect one to many rico:RecordResource (or rico:Instantiation) to one to many  rico:Agent who would participate in the creation of the RecordResource or Instantiation.

Also, the binary object properties to which the n-ary Relation class correspond (like, for rico:CreationRelation, rico:hasCreator and rico:isCreatorOf) are formally declared as shortcuts of the complex path that involves the Relation class. See, on this, this part of the introduction of RiC-O: https://www.ica.org/standards/RiC/RiC-O_1-1.html#From_RiC-CM_components_to_RiC-O_classes.

The system of Relation classes is not as rich as the system of binary properties: actually I am not sure these relation classes are widely used. What I know is that at the Archives nationales de France, we extensively use some of them. The RiC-O development team would need to know a little more about how it's being used and what needs aren't being met. Furthermore, we will most likely be working, within the framework of the RiC-O 2.0 roadmap, to bring the Relation class system closer together with the rico:Event or rico:Activity classes (or even merge them). Many of the relation classes can be considered as events or activities.

As concerns your need of a LanguageRelation, IMHO this would be an interesting addition as the need can be considered quite general. So that’s noted! If you wish, you could create an issue about this on GitHub yourself (https://github.com/ICA-EGAD/RiC-O/issues ); or we will. It's possible you'll have to wait a few weeks for this new class to be created. In the meantime, you could create this class yourself in a RiC-O extension related to your project (see on this topic, in case you would need more information, this FAQ in RiC-AG: https://ica-egad.github.io/RiC-AG/faq--how_to_extend_ric.html).

I am not a linguist; but as an archivist, I would tend to suggest using rico:RecordPart to describe the parts of a record expressed in a given language (as you mentioned this -unless I did not understand you well).

I hope these answers will help you.

Best regards,

Florence Clavaud
Head of the Lab, Archives nationales de France
Chair of EGAD
Reply all
Reply to author
Forward
0 new messages