Problems in untp-core ontology
Created by: VladimirAlexiev
I got https://jargon.sh/user/unece/untp-core/v/working/artefacts/jsonld/render.jsonld, saved as untp-core-ontology.jsonld
, and converted to turtle untp-core-ontology.ttl
, eg
riot --formatted ttl untp-core-ontology.jsonld > untp-core-ontology.ttl
Problems:
-
there's no owl:Ontology node with metadata (name, who, when, version number, preferredNamespaceUri and prefix)
Props
-
5 props use wrong range schema:name
(that's a prop so it cannot be a range!) and wrong typeowl:ObjectProperty
(a name is a string not an object!), eg
untp-core:facilityName
rdf:type owl:ObjectProperty , rdf:Property ;
rdfs:comment "The name of the facility, represented as a text string." ;
rdfs:label "facilityName" ;
schema:domainIncludes untp-core:Facility ;
schema:rangeIncludes schema:name .
There's no reason to use different props for the name of things. So remove all these props, and just say:
schema:name schema:domainIncludes untp-core:Facility, untp-core:Standard, untp-core:Product...
-
3 props violate naming convention: Latitude, Longditude, MaterialName
-
Remove MaterialName
and just useschema:name
as described 2 items above
Enumerations
-
A number of enumeration classes are used but not defined, eg
untp-core:hashMethod rdf:type owl:ObjectProperty , rdf:Property ;
schema:rangeIncludes untp-core:hashMethodCode .
<https://test.uncefact.org/vocabulary/untp/core/hashMethodCode#SHA-256>
rdf:type untp-core:hashMethodCode .
-
These classes should conform to naming convention, eg HashMethod
-
They must NOT have a suffix "Code". A hash method is NOT a code, it's only identified by a code but has a life of its own. -
The values use undefined prop untp-core:Name
(which also doesn't conform to naming convention). Just useschema:name
-
The values use an unhealthy mix of 3 props. Never all 3 are populated, and there are parasitic empty values (eg below). Just use schema:name, schema:description
rdf:value "Secure Hash Algorithm 256 bits" ;
rdfs:comment "" ;
untp-core:Name "SHA-256" .