-
Notifications
You must be signed in to change notification settings - Fork 1
RDF star for contextualizing historical assertions
From https://github.com/w3c/rdf-ucr/issues/12 but https://github.com/w3c/rdf-ucr/wiki/RDF-star-for-CIDOC-CRM-events has more development of the use case.
The RELEVEN project (https://releven.univie.ac.at/) is developing a data model for recording contextual information about triples, so that users can understand who has asserted the information in the triples and what they are basing these assertions on.
The motivation is to record information about historical figures even when the information we have is contradictory and cannot be definitively resolved one way or another (which, after all, frequently happens), and to be able to do this without causing naive validation errors in ontology-based software.
At the moment the model is based on regular RDF, and specifically on the CIDOC-CRM entity E13 Attribute Assignment. (See below for information on CIDOC-CRM.) The subject and object of the original triple become the objects of relationships P140 assigned attribute to and P141 assigned respectively, and the predicate is reified as an E55 Type to become the object of relationship P177 assigned property type. We can then use the predicates P14 carried out by to indicate who is responsible for the assertion, and P17 was motivated by to indicate the evidence for the assertion (e.g. a text passage, an inscription on an object, or even another assertion).
While the current approach works fine for representing the data, there is not a good way to validate the content of the attribute assignments - that is, to make sure that the subject, reified predicate, and object conform to the specification of the ontology. The range of the predicates P140 and P141 is sent intentionally broadly (to E1 CRM Entity) and the range of P177 can likewise be any reified predicate. For the time being validation is handled in the application logic, taking care not to allow users to create assertions of invalid triples.
Quoted triples would be to allow for the validation on the base triples, and still be able to attach the information about authority and context that is currently expressed via P14 and P17 properties.
CIDOC-CRM (https://www.cidoc-crm.org/sites/default/files/cidoc_crm_v7.1.2.pdf) is a conceptual reference model, a.k.a. an upper ontology. It uses opaque identifiers, e.g., E55, along with an informal name, an informal description, and formal relationships to other classes and properties to describe classes and properties. It is possible to translate much of this into RDFS, except that CIDOC-CRM provides number restrictions on properties, which are not part of RDFS, but can only be modelled using OWL. CIDOC-CRM has a non-trivial property hierarchy, which is often missing in RDFS ontologies.
Uses of CIDOC-CRM often just use the opaque identifiers to identify classes and properties, e.g., E52 or P140, which can make CIDOC-CRM information hard to read for those who are not immersed in CIDOC-CRM. Here is a table of some classes and properties from CIDOC-CRM.
ID | CIDOC-CRM Name | RDFS | Domain | Range |
---|---|---|---|---|
E1 | CRM Entity | |||
E7 | Activity | |||
E13 | Attribute Assignment | |||
E17 | Type Assignment | |||
E21 | Person | |||
E33 | Linguistic Object | |||
E39 | Actor | |||
E55 | Type | rdfs:Class | ||
E73 | Information Object | |||
P14 | carried out by | E7 | E39 | |
P17 | was motivated by | E7 | E1 | |
P42 | assigned | E17 | E55 | |
P127 | has broader term | rdfs:subClassOf | E55 | E55 |
P140 | assigned attribute to | E13 | E1 | |
P141 | assigned | E13 | ||
P177 | assigned property of type | E13 | E55 |
The image below shows a pair of gender assignments of Konstantinos Doukas; according to Anna Komnene he was male (presuambly from birth) but according to Michael the Syrian, he was castrated (thus assigned to the eunuch category) sometime during the reign of the emperor Botaneiates.
After modifying the relationship between genders and Gender this becomes:
ex:Gender rdf:type crm:E55_Type, rdfs:Class .
ex:Gender_Male rdf:type crm:E55_Type, rdfs:Class, ex:Gender ; rdfs:subclassOf E21_Person .
ex:Gender_Female rdf:type crm:E55_Type, rdfs:Class, ex:Gender ; rdfs:subclassOf E21_Person .
ex:Gender_Eunuch rdf:type crm:E55_Type, rdfs:Class, ex:Gender ; rdfs:subclassOf E21_Person .
ex:Konstantinos_62 rdf:type crm:E21_Person , ... . # more information about Konstantinos, an historical figure
ex:Reign_of_Botaneiates rdf:type crm:E52_Time-Span ;
crm:P82a_begin_of_the_begin "1078-01-07T00:00:00"^^xsd:dateTime ;
crm:P82b_end_of_the_end "1081-04-01T00:00:00"^^xsd:dateTime .
ex:Anna_Komnene rdf:type crm:E21_Person , ... .# more information about Anna Komnene, an author
ex:Michael_Syrian rdf:type crm:E21_Person , ... . # more information about Michael the Syrian, an author
ex:Alexiad_VI_8 rdf:type crm:E33_Linguistic_Object , ... . # more information about Alexiad_VI_8
ex:Chronicle_III_5 rdf:type crm:E33_Linguistic_Object , ... . # more information about Chronicle_III_5
# the type assignment event assigning Konstantinos to type Male
ex:Gender_Assignment__Male_A rdf:type crm:E17_Type_Assignment .
# claims about the type assignment
ex:Anna_Assertion_A rdf:type crm:E13_Attribute_Assignment ;
crm:P140_assigned_attribute_to ex:Gender_Assignment__Male_A ;
crm:P177_assigned_property_of_type crm:P41_classified ;
crm:P141_assigned ex:Konstantinos_62 ;
crm:P17_was_motivated_by ex:Alexiad_VI_8 ;
crm:P14_carried_out_by ex:Anna_Komnene .
ex:Anna_Assertion_B rdf:type crm:E13_Attribute_Assignment ;
crm:P140_assigned_attribute_to ex:Gender_Assignment__Male_A ;
crm:P177_assigned_property_of_type crm:P42_assigned ;
crm:P141_assigned ex:Gender_Male .
crm:P17_was_motivated_by ex:Alexiad_VI_8 ;
crm:P14_carried_out_by ex:Anna_Komnene .
# the type assignment event assigning Konstantinos to type Eunuch
ex:Gender_Assignment__Eunuch_A rdf:type crm:E17_Type_Assignment .
# claims about the type assignment
ex:Michael_Assertion_A rdf:type crm:E13_Attribute_Assignment ;
crm:P140_assigned_attribute_to ex:Gender_Assignment__Eunuch_A ;
crm:P177_assigned_property_of_type crm:P41_classified ;
crm:P141_assigned ex:Konstantinos_62 ;
crm:P17_was_motivated_by ex:Chronicle_III_5 ;
crm:P14_carried_out_by ex:Michael_Syrian .
ex:Michael_Assertion_B rdf:type crm:E13_Attribute_Assignment ;
crm:P140_assigned_attribute_to ex:Gender_Assignment__Eunuch_A ;
crm:P177_assigned_property_of_type crm:P42_assigned ;
crm:P141_assigned ex:Gender_Eunuch ;
crm:P17_was_motivated_by ex:Chronicle_III_5 ;
crm:P14_carried_out_by ex:Michael_Syrian .
ex:Michael_Assertion_Dating rdf:type crm:E13_Attribute_Assignment ;
crm:P140_assigned_attribute_to ex:Gender_Assignment__Eunuch_A ;
crm:P177_assigned_property_of_type crm:P4_has_time-span ;
crm:P141_assigned ex:Reign_of_Botaneiates ;
crm:P17_was_motivated_by ex:Chronicle_III_5 ;
crm:P14_carried_out_by ex:Michael_Syrian .
Quoted triples would be used to replace the claims sections, as follows:
# the type assignment event assigning Konstantinos to type Male
ex:Gender_Assignment__Male_A rdf:type crm:E17_Type_Assignment ;
crm:P41_classified ex:Konstantinos_62
{| star:asserted-by ex:Anna_Komnene ;
star:based-on ex:Alexiad_VI_8 |} ;
crm:P42_assigned ex:Gender_Male
{| star:asserted-by ex:Anna_Komnene ;
star:based-on ex:Alexiad_VI_8 |} .
# the type assignment event assigning Konstantinos to type Eunuch
ex:Gender_Assignment__Eunuch_A rdf:type crm:E17_Type_Assignment ;
crm:P41_classified ex:Konstantinos_62
{| star:asserted_by ex:Michael_Syrian ;
star:based_on ex:Chronicle_III_5 |} ;
crm:P42_assigned ex:Gender_Eunuch
{| star:asserted_by ex:Michael_Syrian ;
star:based_on ex:Chronicle_III_5 |} ;
crm:P4_has_time-span ex:Reign_of_Botaneiates
{| star:asserted_by ex:Michael_Syrian ;
star:based_on ex:Chronicle_III_5 |} .
If there is a separate assignment for each passage, then there is no problem direction using quoted triples for the asserted_by and based_on triples. But if there is a single assignment for, for example, the castration of Konstantinos, then there has to be a stand-off entity to represent the assertion so that there is no mixing of multiple sourcing triples.
The form of literals is not important. As there is only one IRI for each object, it does not matter whether the form of IRIs is important.