ontoportal-lirmm / ontologies_linked_data

Models and serializers for ontologies and related artifacts backed by 4store

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Persons and organizations' requirement

hibadjebabria169 opened this issue · comments

Here is the new modelisation of persons and organizations' objects in agroportal
we'll follow the diagram below to create and manipulate these objects

  • organization and person are two classes that extend the class foaf:Agent
  • both classes will have a unique id adding to their own attributes
  • to clarify the bi-directional link between Agents and any submission, the property prov:contributed indicates that a given agent (person/organization) is contributing to a submission (by creation,curation...), and the other way around the submission has a set of properties to indicate agents and their roles attributed to them

Classe UML (1)

Ok great

There a re couple of non-up-to-date element in this diagram @hibadjebabria169

  • scoro:hasORCID and hasROR go away
  • Agent needs an identifier type property
  • Agent need a "type" property with restricted value Person/Organization so that we can distinguish them
  • prefLabel and altLabel are in skos NS not nkos
  • missing relation (affiliation) btw a person and an organization

Also can you list here the exact URIs for the properties identified so that is faster to encode them.

@hibadjebabria169 Can you update this diagram and requirements with the remarks done ?

By the way: I found the property to use for affilitation: https://www.w3.org/TR/vocab-org/#org:memberOf

I updated it and sent it to you on slack، need to be validated and add this property…

I’ll update it based on what you just added

I updated it and sent it to you on slack، need to be validated and add this property…

I’ll update it based on what you just added

@hibadjebabria169 can you put here the latest version of the model

For reference, this is what I have in my side

image

Here's the updated one :
Classe UML (1)

@hibadjebabria169 This diagram needs a few changes as it contains multiples ambiguities and errors.

Suggested changes:

  • Person and Organization do not need a identifier => they have an URI (will be @id in our system)
  • Agent has idetifier in addition of URI => property "Uses" should be a standard property "hasIdentifier" or alike from a standard vocab... hard to use dct:identifier has it has for range "Literal" and in our case it will not be a lIeteral
  • We need a standard class for the Identifier object
  • Is there a memberOf property in FOAF ? or is org:memberOf explicitly about connecting foaf:Organization and foaf:Person
  • There is 2 errors in the name of properties in the Agent class
  • Error on prov:Contributed => if its a property from PROV => no capital

To be discussed.

We need a standard class for the Identifier object
I suggest adms:Identifer, below an example

<https://dcat.example.org/PoelenJorritHID> a adms:Identifier;
  skos:notation "https://orcid.org/0000-0003-3138-4118"^^xsd:anyURI ;
  # the authority/agency defining the identifier scheme, used if the agency has no URI
  adms:schemaAgency "ORCID" ;

Source: https://www.w3.org/TR/vocab-dcat-2/#ex-adms-identifier

Agent has idetifier in addition of URI => property "Uses" should be a standard property "hasIdentifier" or alike from a standard vocab... hard to use dct:identifier has it has for range "Literal" and in our case it will not be a lIeteral

I suggest using adms:identifier, which has as range adms:Identifier (see reference here https://www.w3.org/TR/vocab-adms/#adms-identifier)

What do you think @hibadjebabria169 , @jonquet ?

adms:identifier and adms:Identifier c'est tres bien
Capture d’écran 2023-06-15 à 09 40 29

We can then also use adms properties to describe the Identifier object.

Bon example d'usage ici: https://www.w3.org/TR/vocab-dcat-2/#ex-adms-identifier

Is there a memberOf property in FOAF ? or is org:memberOf explicitly about connecting foaf:Organization and foaf:Person

I checked. We can stay with org:memberOf
FOAF does not include this. It does at "member" but for foaf:Group which are not foaf:Organiaztion