deutsche-nationalbibliothek / gnd-ontology

GND (Gemeinsame Normdatei) Ontologie
https://d-nb.info/standards/elementset/gnd
Creative Commons Zero v1.0 Universal
12 stars 0 forks source link

New property and class for qualified relationship statements #5

Open thoffma opened 2 months ago

thoffma commented 2 months ago

There is a need to further qualify a relationship. At this state familial relationships are expressed via 28 agrelon properties. But there are more, not standardized and not only familial, relationships. To transport these remarks of relationsships we need a new property and a new class.

I propose a new owl:ObjectProperty gndo:hasRelationship and a new owl:Class gndo:Relationship.

Example 1

<https://d-nb.info/gnd/1217093-8> gndo:musician <https://d-nb.info/gnd/13472836X>, <https://d-nb.info/gnd/134728459>, <https://d-nb.info/gnd/1289659370>, […]

<https://d-nb.info/gnd/1217093-8> gndo:[hasRelationship] _:rel1 , _:rel2 , _rel3 , _rel4 [...] .

_:rel1 a gndo:[Relationship] ;
         gndo:musician <https://d-nb.info/gnd/13472836X> ;
         gndo:functionOrRoleAsLiteral "Komponist" ;
         gndo:associatedDate "1978-" .
[…]

Example 2

<https://d-nb.info/gnd/104051639> gndo:acquaintanceshipOrFriendship <https://d-nb.info/gnd/119631156>, [...], _:node1i3f1dtrux1895683 .

_:node1i3f1dtrux1895683 gndo:forename "Emanuele";
                        gndo:surname "Tremellio" .

<https://d-nb.info/gnd/104051639> gndo:[hasRelationship] _:rel1 , [...] , _relx .

_:rel1 a gndo:[Relationship] ;
         gndo:acquaintanceshipOrFriendship <https://d-nb.info/gnd/119631156> ;
         gndo:functionOrRoleAsLiteral "VD-16 Mitverf." .

[...]

_:relx a gndo:[Relationship] ;
         gndo:acquaintanceshipOrFriendship _:node1i3f1dtrux1895683 ;          
         gndo:functionOrRoleAsLiteral "VD-16 Mitverf." .

Example 3

<https://d-nb.info/gnd/4115022-3> gndo:relatedPerson <https://d-nb.info/gnd/122252726X> .

<https://d-nb.info/gnd/4115022-3> gndo:[hasRelationship] _:rel1 .

_:rel1 a gndo:[Relationship] ;
         gndo:relatedPerson <https://d-nb.info/gnd/122252726X> ;
         gndo:functionOrRoleAsLiteral "Schiffbrüchiger, lebte zeitweise mit der indigenen Bevölkerung zusammen" .

Comments and suggestions are welcome!

acka47 commented 2 months ago

I will separatley review the respective PR at #7. Here, I have some questions about implementation as soon as this property becomes available.

First, this is my understanding of the situation: We already have the specific properties like hasSibling or hasTeacher from agrelon. These can be used when people record standardized relationships in GND. However, there is also a way to record an relationship – using general field equivalent to gndo:relatedPerson or a specific field equivalent to e.g. gndo:musician or gndo:acquaintanceshipOrFriendship – and annotateit with a custom not standardized note in the form of a literal. You now want to support this practice in the GND RDF version by adding a level of indirection which allows annotating a relationship. Right?

Regarding implementation: Will you just add additional triples to those entries with annotated relationships and keep the existing direct connections with agrelon properties for the other entries? Or will you use the new approach on all GND relationships?

Generally, from a data modeling view, it would be nice to have only one way of recording relationships. This would mean, to also use this annotated approach with the existing relationships. As, for the sake of backwards compatibility, you would not want to replace the existing approachyou might add the new approach in addition. What are your plans here?

thoffma commented 2 months ago

You´re right! That was my intention. The examples above shows how it would look after implementation. No triples will be removed.

Here is another example with a mix of agrelon and a non-standardized relation. The information that https://d-nb.info/gnd/115744126 is "Halbschwester" is missing.

<https://d-nb.info/gnd/132522136> gndo:familialRelationship <https://d-nb.info/gnd/13717666X>;
                                  agrelon:hasSpouse <https://d-nb.info/gnd/13717666X>;
                                  gndo:familialRelationship <https://d-nb.info/gnd/115744126>, <https://d-nb.info/gnd/1018927271>;
                                  agrelon:hasParent <https://d-nb.info/gnd/1018927271>;
                                  gndo:memberOfTheFamily <https://d-nb.info/gnd/1014590620> .

+ after implementation

<https://d-nb.info/gnd/132522136> gndo:[hasRelation] _:rel1 .

_rel1 a gndo:[Relationship] ;
        gndo:familialRelationship <https://d-nb.info/gnd/115744126> ;
        gndo:functionOrRoleAsLiteral "Halbschwester"  .
acka47 commented 2 months ago

I understand. However, I imagined to go even further and to enable GND users implementing one way of e.g. displaying relationships. This would mean to have the not-annotated relations redundantly represented both as direct relation and as indirect relation (leaving out the gndo:functionOrRoleAsLiteral). Re. the example, this would mean to also add the other five relations with the new approach. What do you think?

thoffma commented 2 months ago

I understand. We could do it this way. It's probably easier to implement.

Like this:

<https://d-nb.info/gnd/132522136> gndo:familialRelationship <https://d-nb.info/gnd/13717666X>;
                                  agrelon:hasSpouse <https://d-nb.info/gnd/13717666X>;
                                  gndo:familialRelationship <https://d-nb.info/gnd/115744126>, <https://d-nb.info/gnd/1018927271>;
                                  agrelon:hasParent <https://d-nb.info/gnd/1018927271>;
                                  gndo:memberOfTheFamily <https://d-nb.info/gnd/1014590620> .

+ after implementation

<https://d-nb.info/gnd/132522136> gndo:[hasRelation] _:rel1 , _:rel2, _:rel3 .

_rel1 a gndo:[Relationship] ;
        gndo:familialRelationship <https://d-nb.info/gnd/115744126> ;
        gndo:functionOrRoleAsLiteral "Halbschwester"  .

_rel2 a gndo:[Relationship] ;
        agrelon:hasSpouse <https://d-nb.info/gnd/13717666X> ;

_rel3 a gndo:[Relationship] ;
        agrelon:hasParent <https://d-nb.info/gnd/1018927271> ;