TBFY / ocds-ontology

Open Contracting Data Standard (OCDS) ontology
Apache License 2.0
5 stars 5 forks source link

describing roles from the codelist #6

Open seralf opened 5 years ago

seralf commented 5 years ago

Hi playing with some examples, I was trying to describe procuring entities with their roles.

If I'm not wrong using the model, for example we could write something like:

<contracting-process-01> a ocds:ContractingProcess .

<tender-01> a ocds:Tender .

<agent-01> a schema:Agent ;
    ocds:playsRoleIn <contracting-process-01> ;
    ocds:isProcuringEntityFor <tender-01> ;
.

However this way it seems difficult to obtain a list of possible roles, or filter by role in a standardized way (we need to focus on specific objectProperty).

What about introducing something inspired by the "Roles" ontology pattern here? The third example in the figure seems good to these use case.

For example we could rewrite the example in a way similar to this:

<contracting-process-01> a ocds:ContractingProcess .

<tender-01> a ocds:Tender .

<agent-01> a schema:Agent ;
    ocds:playsRole <role-01> ;
    ocds:isProcuringEntityFor <tender-01> ;
.

<role-01> a ocds:Role ;
    rdfs:label "procuringEntity" ;
    rdfs:isDefinedBy "https://standard.open-contracting.org/latest/en/schema/codelists/#party-role" ;
    ocds:roleFor <contracting-process-01> ;
    .

where the codelist party-role could also be a small SKOS vocabulary.

Thanks in advance if you have any suggestion.