CredentialEngine / CredentialRegistry

Repository for development of the Credential Registry
Apache License 2.0
12 stars 10 forks source link

Missing description sets #701

Closed siuc-nate closed 2 months ago

siuc-nate commented 6 months ago

This competency framework is missing a description set: ce-b9d3dcf6-7df3-4c60-9586-632811e30915

image

jeannekitchens commented 6 months ago

@excelsior @edgarf this impacts the Credential Finder and a publishing project happening now. The project is publishing ceterms:WorkRole links via ceasn:skillembodied, ceasn:abilityembodied, ceasn:knowledgembodied to ceasn:Competency and ceterms:WorkRole links via ceterms:hasTask to ceterms:Task.

excelsior commented 6 months ago

@siuc-nate There is no such resource on production:

https://credentialengineregistry.org/envelopes/ce-b9d3dcf6-7df3-4c60-9586-632811e30915 https://credentialengineregistry.org/resources/ce-b9d3dcf6-7df3-4c60-9586-632811e30915

I couldn't find any publishing attempts in the logs, are you sure it was published in the first place?

However, the competency framework exists on sandbox, and its description set is present there.

Screenshot 2024-04-27 at 21 00 29
siuc-nate commented 6 months ago

My mistake, it is on sandbox.

https://sandbox.credentialengineregistry.org/description_sets/ce-b9d3dcf6-7df3-4c60-9586-632811e30915

However, the description set is missing connections coming from work roles and tasks: image

For example: https://sandbox.credentialengineregistry.org/ce-registry/resources/ce-df599242-27ef-4a0c-bc33-f16ce2fb4f83 This work role references one of the competencies in that framework via the ceasn:skillEmbodied property.

siuc-nate commented 6 months ago

Per our meeting, it looks like this is due to the range of the knowledge/skill/abilityEmbodied properties being xsd:anyURI and thus getting ignored by the description set precalculation code. The planned fix is to update the code to check the domain of URLs that are values for properties with a range of xsd:anyURI and, if they match the domain the registry software is running on (in whichever environment it is running), then treat them as resources (otherwise ignore them as it does today).

Somewhat related: https://github.com/CredentialEngine/Schema-Development/issues/812 https://github.com/CredentialEngine/Schema-Development/issues/822

excelsior commented 5 months ago

@siuc-nate Unfortunately, the suggested approach is considerably slower than using the schemas only. Would it possible to change ceasn:skillEmbodied's schema:rangeIncludes to have actual domains instead of xsd:anyURI?

Alternatively, can you provide the mappings you're interested in, so I can include them manually?

siuc-nate commented 5 months ago

We've had an ongoing issue for this one where we've been discussing changing the ranges of those properties here: https://github.com/CredentialEngine/Schema-Development/issues/812

The relevant properties are:

And the range they would (should?) have would be ceasn:Competency

excelsior commented 4 months ago

These paths have been added:

ceasn:CompetencyFramework < ceasn:isPartOf < ceasn:Competency > ceasn:abilityEmbodied > ceasn:Competency
ceasn:CompetencyFramework < ceasn:isPartOf < ceasn:Competency > ceasn:knowledgeEmbodied > ceasn:Competency
ceasn:CompetencyFramework < ceasn:isPartOf < ceasn:Competency > ceasn:skillEmbodied > ceasn:Competency

The missing description sets are available on sandbox now, not on production yet. Is there anything else that should be added?

siuc-nate commented 4 months ago

We also need similar paths with the following starting points:

e.g.:

> ceasn:abilityEmbodied > ceasn:Competency
> ceasn:abilityEmbodied > ceasn:Competency > ceasn:isPartOf > ceasn:CompetencyFramework
> ceasn:abilityEmbodied > ceasn:Competency > ceasn:isMemberOf > ceterms:Collection
> ceasn:abilityEmbodied > ceasn:Competency < ceterms:hasMember < ceterms:Collection
> ceasn:abilityEmbodied > ceasn:Competency < ceterms:proxyFor < ceterms:hasMember < ceterms:Collection
siuc-nate commented 2 months ago

If I query for work roles for the above framework, I get back results.

However, the description set for the framework does not contain these work roles.

{
    "@type": "ceterms:WorkRole",
    "ceasn:skillEmbodied": {
        "ceasn:isPartOf": {
            "ceterms:ctid": "ce-b9d3dcf6-7df3-4c60-9586-632811e30915"
        }
    }
}
excelsior commented 2 months ago

@siuc-nate The missing description set were regenerated on both production and sandbox.

siuc-nate commented 2 months ago

Thanks. I see the work roles in the description set now.