-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use of the class Code and the property "hasAdditionalClassification" #60
Comments
"hasAdditionalClassification", "hasMainClassification", "hasAwardStatus", "hasBuyerLegalType" |
The rest of the issue description referring to using a skos:ConceptScheme versus Class standing for a controlled list shall be taken elsewhere as it is a modelling decision and should be careful though about and documented for consistent usage/application. Hint: For example, LegalForm type which is a controlled list, shall differ from country to country and therefore in the ePO model we shall generically specify that the property epo:hasLegalFormType shall take the range skos:Concept, while in a range of application profiles defined at the national level, we can specify that epo:hasLegalFormType shall take values from xxx:SpecificLegalForm. |
Hi @costezki , I agree on the hint of your comment above! It is what happens in other core vocabularies of ISA2 for instance. |
Hi @costezki do you have news about this? Because I still see a lot of classes pointing to controlled vocabularies but now we use skos:Concept, right? How do we deal with these classes? |
BTW I noticed: http://publications.europa.eu/resource/authority/procurement-procedure-type --> this URI has "procurement" with lowercase. |
Dear @giorgialodi, Regarding your first comment about "Economic-operator-size" and "Procurement-procedure-type":
What is no longer generated, is the range restriction; that being substituted by providing a generic skos:Concept. |
@costezki I understand the overall mechanism but I think there is something not correct because in the OWL restrictions file there is a class http://publications.europa.eu/resource/authority/Procurement-procedure-type that does not exist! And this applies to all those types of classes. |
These classes are created in the restrictions layer in order to enable the property range constraint checking (in SHACL in fact). This has been defined in the transformations documentation document and implemented accordingly. We can, eventually, move that class definition for every controlled list, into the SHACL layer (though it would be weird too). |
Hmmm, I need to reason about that :) In any case, the URIs of those classes should be the right ones (everything in lower case). |
@costezki the thing that it is not clear to me is the following: the property hasProcedureType has as range skos:Concept and it is correct. In which way now the restrictions say that the skos:Concept range of this property is linked to the "skos:inScheme procurement-procedure-type"? |
In fact, not anymore. That was the original assumption and was implemented accordingly. A temporary solution would be to ignore altogether any enumeration definition and any enumeration references(which is suboptimal imho and specific to ePO alone). |
@costezki for instance, how do they treat in DCAT-AP the mandatory vocabularies for specific properties? It seems to me that they check this in SHACL shapes only, leaving in the ontology part the fact that the property has as range skos:Concept (and the description of the property says which controlled voc is to be used). Am I right? |
DecisionWe distinguish two types of UML models,
[1] For the UML models that specify the ontology, the [2] For the UML models that specify an application profile, the ActionsIn the immediate future functionality [1] will be implemented. |
in the object properties where a code should be specified, the range is both code (lower case letters see issue #59) and a class that represents the specific skos:ConceptScheme (and here there is a doubt, see below).
I think we have two possibilities:
Thus object properties such as "hasAdditionalClassification", "hasMainClassification", "hasAwardStatus", "hasBuyerLegalType" will have only one range: in case of 1 the range will be Code, in case of 2) the name of the specific class that represents the specific controlled vocabulary to be used in the object property.
BTW: If I take the Cpv class it says that is equivalent to skos:inScheme value Cpv. So Cpv is a ConceptScheme or a Concept? Because if I have an object property "hasMainClassification" the range should point to a single concept CPV, not to the overall ConceptScheme.
Finally, I am not sure that the property "hasAdditionalClassification" is functional.
The text was updated successfully, but these errors were encountered: