Question about the the rico:Relation class

15 views
Skip to first unread message

Sylvain Loiseau

unread,
Nov 5, 2025, 7:04:42 AMNov 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 AMNov 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

Sylvain Loiseau

unread,
Nov 24, 2025, 11:54:44 AM (8 days ago) Nov 24
to Records_in_C...@googlegroups.com
Thanks again for a very detailed answer.

> 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.

If I understand correctly, it means that each of the rico:RecordResource (or Instantiation) are then connected to the set of rico:Agent, event if it is not the same « event » of creation. For instance, a Record X created at date i and another Record Y created at date j by the same set of Agents, and for which we want add the same set of contextualization (it was created in the context of a such mandate, for instance), can be source of the same CreationRelation, even if other properties (such as the date) are different (and, then, not expressed on the Relation ressource ?

RicoRelation is then a factorization of properties rather than an unique underlying event?

(I’m allowing myself to ask a side question, more generally related to RDF: as far as I understand there is no mechanism in RDF ontology to express limit on the number of occurrence of a property: no way to say that an Event as only one property hasOrHadTitle for instance?)

> 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.

In that case, it will not be possible anymore to use the Relation class as a n-ary relation, for instance between a set of Agent and a set of Activity for which the contextualization is true?

> 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).

Thank you very much, I will create an issue.

> 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).

Yes, in most cases the various languages relates to different parts, but we can also have interlinear translation or interlinear glosses. I can also think of cases where a text is charaterized by a main language and secondary ones: providing loanwords, used in code-switching, or used in localized translation that can not easily be separated as a part of the record. Regarding the connexion Person -> Language, it may also be useful to characterize a language as a primary one (if the Person is a native speaker of this or these language(s)), and various context in which other languages have been acquired (with various degree of proficiency, active or passive competence, etc.). However, the fine-grained description of the relation between a Person and a Language is maybe out of the primary scope of the RIC ontology and would be more relevant for a biography ontology.

Best regards,
Sylvain
> --
> You received this message because you are subscribed to a topic in the Google Groups "Records_in_Contexts_users" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/Records_in_Contexts_users/nwBhlz9IrN8/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to Records_in_Context...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/Records_in_Contexts_users/8bb8d6a1-8caf-4ed2-8473-e17e175c56d2n%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages