Automation of SHACL generation - initial design
- Pawel Garbacz
- Kleemann, Gerd
- Ivana Miljkovic (Unlicensed)
Use Cases for SHACL
- Constraints validation (required by BI, Amgen)Â
- Template for the graphical user interface (GUI; required by Bayer)
For those two use cases, in some cases, there is a slight difference in the SHACL constraints. Specifically, for the GUI use case,
- there are certain transformation shortcuts required, e.g., to drop name instances
- some attributes need to be either sorted or filtered out, e.g., preferred names
For now, we just focus on use case 1.
Next steps:
- Set up the technical infrastructure for HSACL generation based on a couple of basic examples. Pawel Garbacz the first 3 rows from the table that are clear
Open topics to clarify before the generation can start
- Review/finalize the table
- Mapping of owl:hasValue → RESOLVED, as in the table
- mapping of OWL domain and range to SHACL - RESOLVED, as in the table
- Open vs closed world assumptions
- Portion of Water - Thomas checks with Elisa
- Untyped nodes - resources that do not have rdf:type
Automation Design
- All SHACL shapes are based on OWL restrictions that are superclasses of (named) classes - see the list of those in scope below.
- All SHACL shapes are defined only for on leaf-classes, i.e., classes without subclasses.
- Inherited constraints, i.e., constraints that can be inferred from superclasses, are dropped.
We assume sh:closed=False.
- In the context of Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration., the agreement was reached that we should categorize constructs that can be generated straightforwardly and the complex ones that require manual intervention. The two categories should then be maintained separately in the Git repository and used combined.
Color coding:
- GREEN: automated/included in the pipeline
- ORANGE: in progress
- RED: requires discussion
- no color: not started
OWL restriction (Manchester) | Scope/Assumption  (Manchester) | SHACL constraint | SHACL severity | PropertyShapeName (we take only the local fragments of IRIs of B and R) | How to transform (automatic/manual) | Comment |
---|---|---|---|---|---|---|
A rdfs:subClassOf some R B | B rdf:type owl:Class | sh:path R; sh:class B; sh:minCount 1 | sh:Warning | SomeRBPropertyShape | automatic | |
A rdfs:subClassOf some R B | B rdf:type rdfs:Datatype | sh:path R; sh:datatype B; sh:minCount 1 | sh:Warning | SomeRBPropertyShape | automatic | |
A rdfs:subClassOf some R B | B rdf:type rdfs:Literal | sh:path R; sh:nodeKind sh:Literal; sh:minCount 1 | sh:Warning | SomeRBPropertyShape | automatic | |
A rdfs:subClassOf only R B | B rdf:type owl:Class | sh:path R; sh:class B | sh:Warning | OnlyRBPropertyShape | automatic | |
A rdfs:subClassOf min n R B | n>0; B rdf:type owl:Class | sh:path R; sh:class B; sh:minCount n | sh:Warning | MinnRBPropertyShape | automatic | |
A rdfs:subClassOf min 0 R B | B rdf:type owl:Class | We decided not to use this construct for SHACL. |
| |||
A rdfs:subClassOf max n R B | B rdf:type owl:Class | sh:path R; sh:class B; sh:maxCount n | sh:Warning | MaxnRBPropertyShape | automatic | |
A rdfs:subClassOf exactly n R B | B rdf:type owl:Class | sh:path R; sh:class B; sh:minCount n; sh:maxCount n | sh:Warning | ExactlynRBPropertyShape | automatic | |
A rdfs:subClassOf min n R | n>0 | sh:path R; sh:minCount n | sh:Warning | MinnRPropertyShape | automatic | |
A rdfs:subClassOf max n R | n>0 | sh:path R; sh:maxCount n | sh:Warning | MaxnRPropertyShape | automatic | |
A rdfs:subClassOf R value C | C rdf:type owl:NamedIndividual | sh:path R; sh:hasValue C | sh:Warning | HasValueCShape | automatic | |
R rdfs:domain A | A rdf:type owl:Class | sh:targetSubjectsOf R; sh:class A | sh:Warning | DomainOfRShape | automatic | |
R rdfs:range A | A rdf:type rdfs:Datatype | sh:targetObjectsOf R; sh:datatype A | sh:Warning | RangeOfRShape | automatic | |
R rdfs:range A | A rdf:type owl:Class | sh:targetObjectsOf R; sh:class A | sh:Warning | RangeOfRShape | automatic |
Some cases are not displayed here, e.g., for the owl:allValuesFrom when B is rdfs:Literal.
Open vs closed world assumptions
OWL differs from SHACL also with respect to the assumption regarding the implication of a statement being absent:
- OWL does not imply anything
- SHACL implies a negation of a statement
Pawel Garbacz believes that translation from OWL to SHACL needs to adopt the target assumption, i.e. the closed-world assumption. This assumption will affect only the OWL existential statements - in order to mitigate its impact we may assume that violations of such constraints will be sh:Warning.
Constraints inheritance
If an ontology contains the following OWL axioms:
A rdfs:subClassOf some R1 B1
A rdfs:subClassOf some R2 B2
B1 rdfs:subClassOf* B2
R1 rdfs:subPropertyOf* R2
Then axiom 2 will not be shaclised because it is inferable from axiom 1.
Constraints Relaxation
If an ontology contains the following OWL axioms:
A rdfs:subClassOf* some R B
B rdfs:subClassOf* some S CÂ
C rdfs:subClassOf* A
S inverse of R
Then axiom 1 will be shaclised as follows:
SomeRBPropertyShape a sh:PropertyShape;
sh:path R; sh:class B; sh:minCount 1.
SomeinverseOfRBPropertyShape a sh:PropertyShape;
sh:path [inverseOf R]; sh:class B; sh:minCount 1.
ANodeShape a sh:NodeShape;
sh:property sh:or (SomeRBPropertyShape SomeinverseOfRBPropertyShape).
Exemplary outputs
SHACL Shapes #1
Scope:
- ISO11238-Substances
- A rdfs:subClassOf some R B
@prefix cmns-cds: <https://www.omg.org/spec/Commons/CodesAndCodeSets/> . @prefix cmns-cls: <https://www.omg.org/spec/Commons/Classifiers/> . @prefix cmns-col: <https://www.omg.org/spec/Commons/Collections/> . @prefix cmns-cxtdsg: <https://www.omg.org/spec/Commons/ContextualDesignators/> . @prefix cmns-doc: <https://www.omg.org/spec/Commons/Documents/> . @prefix cmns-dsg: <https://www.omg.org/spec/Commons/Designators/> . @prefix cmns-id: <https://www.omg.org/spec/Commons/Identifiers/> . @prefix cmns-loc: <https://www.omg.org/spec/Commons/Locations/> . @prefix cmns-org: <https://www.omg.org/spec/Commons/Organizations/> . @prefix cmns-prd: <https://www.omg.org/spec/Commons/ProductsAndServices/> . @prefix cmns-pts: <https://www.omg.org/spec/Commons/PartiesAndSituations/> . @prefix cmns-qtu: <https://www.omg.org/spec/Commons/QuantitiesAndUnits/> . @prefix cmns-ra: <https://www.omg.org/spec/Commons/RegistrationAuthorities/> . @prefix cmns-rga: <https://www.omg.org/spec/Commons/RegulatoryAgencies/> . @prefix cmns-txt: <https://www.omg.org/spec/Commons/TextDatatype/> . @prefix idmp-dtp: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO21090-HarmonizedDatatypes/> . @prefix idmp-sub: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11238-Substances/> . @prefix idmp-uom: <https://spec.pistoiaalliance.org/idmp/ontology/ISO/ISO11240-UnitsOfMeasurement/> . @prefix lcc-cr: <https://www.omg.org/spec/LCC/Countries/CountryRepresentation/> . @prefix lcc-lr: <https://www.omg.org/spec/LCC/Languages/LanguageRepresentation/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix sh: <http://www.w3.org/ns/shacl#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . idmp-sub:AcidNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Acid . idmp-sub:ActiveIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ActiveIngredient . idmp-sub:ActiveMoietyRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ActiveMoietyRole . idmp-sub:AdditiveIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:AdditiveIngredient . idmp-sub:AdjuvantNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Adjuvant . idmp-sub:AgentModificationMethodNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:AgentModificationMethod . idmp-sub:AgentModificationTypeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:AgentModificationType . idmp-sub:AmountTypeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:AmountType . idmp-sub:AnalyticalMethodNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:AnalyticalMethod . idmp-sub:BaseIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:BaseIngredient . idmp-sub:BaseNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Base . idmp-sub:ChemicalElementNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ChemicalElement . idmp-sub:ChemicalSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ChemicalSubstance . idmp-sub:ColorIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ColorIngredient . idmp-sub:ConformanceLevelNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ConformanceLevel . idmp-sub:ContaminantIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ContaminantIngredient . idmp-sub:ElementGroupNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ElementGroup . idmp-sub:EsterNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Ester . idmp-sub:ExcipientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Excipient . idmp-sub:FlavorIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:FlavorIngredient . idmp-sub:GeneElementIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:GeneElementIdentifier . idmp-sub:GeneElementNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:GeneElementName . idmp-sub:GeneElementTypeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:GeneElementType . idmp-sub:GeneIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:GeneIdentifier . idmp-sub:GeneNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:GeneName . idmp-sub:GeneSequenceOriginNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:GeneSequenceOrigin . idmp-sub:HydrateNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Hydrate . idmp-sub:InactiveIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:InactiveIngredient . idmp-sub:InactiveMoietyRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:InactiveMoietyRole . idmp-sub:InteractionTypeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:InteractionType . idmp-sub:IsotopeCompositionNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:IsotopeComposition . idmp-sub:IsotopeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Isotope . idmp-sub:IsotopicSubstitutionClassifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:IsotopicSubstitutionClassifier . idmp-sub:ManufacturedItemNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ManufacturedItem . idmp-sub:ManufacturerNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Manufacturer . idmp-sub:MaterialClassifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MaterialClassifier . idmp-sub:MaterialRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MaterialRole . idmp-sub:MaterialSpecificationNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MaterialSpecification . idmp-sub:MechanicalIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MechanicalIngredient . idmp-sub:MixtureNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Mixture . idmp-sub:ModificationAgentNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ModificationAgent . idmp-sub:ModificationMethodNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ModificationMethod . idmp-sub:ModificationMethodTypeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ModificationMethodType . idmp-sub:ModificationRoleCodeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ModificationRoleCode . idmp-sub:ModificationRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ModificationRole . idmp-sub:MoietyIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MoietyIdentifier . idmp-sub:MoietyNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MoietyName . idmp-sub:MoietyNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Moiety . idmp-sub:MoietyRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MoietyRole . idmp-sub:MolecularCompositionNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularComposition . idmp-sub:MolecularConstituentNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularConstituent . idmp-sub:MolecularFormulaByMoietyNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularFormulaByMoiety . idmp-sub:MolecularFormulaNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularFormula . idmp-sub:MolecularFragmentIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularFragmentIdentifier . idmp-sub:MolecularFragmentNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularFragmentName . idmp-sub:MolecularFragmentNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularFragment . idmp-sub:MolecularFragmentRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularFragmentRole . idmp-sub:MolecularGraphIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularGraphIdentifier . idmp-sub:MolecularGroupNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularGroup . idmp-sub:MolecularStructureIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularStructureIdentifier . idmp-sub:MolecularStructureNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularStructure . idmp-sub:MolecularWeightNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MolecularWeight . idmp-sub:MoleculeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Molecule . idmp-sub:MonodisperseSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:MonodisperseSubstance . idmp-sub:NucleicAcidSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:NucleicAcidSubstance . idmp-sub:NuclideIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:NuclideIdentifier . idmp-sub:NuclideNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:NuclideName . idmp-sub:OfficialNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:OfficialName . idmp-sub:OpticalActivityNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:OpticalActivity . idmp-sub:OpticalRotationNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:OpticalRotation . idmp-sub:ParameterNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ParameterName . idmp-sub:ParameterNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Parameter . idmp-sub:PharmacopoeialGradeClassifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PharmacopoeialGradeClassifier . idmp-sub:PharmacopoeialGradeNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PharmacopoeialGradeName . idmp-sub:PhysicalManufacturedItemNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PhysicalManufacturedItem . idmp-sub:PhysicalModificationMethodNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PhysicalModificationMethod . idmp-sub:PhysicalSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PhysicalSubstance . idmp-sub:PolydisperseSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PolydisperseSubstance . idmp-sub:PolymerSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PolymerSubstance . idmp-sub:PreservativeIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:PreservativeIngredient . idmp-sub:ProcessingMaterialRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ProcessingMaterialRole . idmp-sub:ProteinSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ProteinSubstance . idmp-sub:RadioactiveDecayNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:RadioactiveDecay . idmp-sub:RadionuclideNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Radionuclide . idmp-sub:ReferenceSourceCitationNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ReferenceSourceCitation . idmp-sub:ReferenceSourceDocumentIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ReferenceSourceDocumentIdentifier . idmp-sub:ReferenceSourceIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ReferenceSourceIdentifier . idmp-sub:ReferenceSourceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ReferenceSource . idmp-sub:ResultantMaterialRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:ResultantMaterialRole . idmp-sub:SaltNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Salt . idmp-sub:SimplifiedMolecularInputLineEntryNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SimplifiedMolecularInputLineEntry . idmp-sub:SingleSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SingleSubstance . idmp-sub:SourceMaterialClassifierCodeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SourceMaterialClassifierCode . idmp-sub:SourceMaterialClassifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SourceMaterialClassifier . idmp-sub:SourceMaterialRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SourceMaterialRole . idmp-sub:SpecifiedItemCountNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SpecifiedItemCount . idmp-sub:SpecifiedSubstanceGroup1NodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SpecifiedSubstanceGroup1 . idmp-sub:SpecifiedSubstanceGroup2NodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SpecifiedSubstanceGroup2 . idmp-sub:SpecifiedSubstanceGroup3NodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SpecifiedSubstanceGroup3 . idmp-sub:SpecifiedSubstanceGroup4NodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SpecifiedSubstanceGroup4 . idmp-sub:SpecifiedSubstanceGroupNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SpecifiedSubstanceGroup . idmp-sub:SpecifiedSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SpecifiedSubstance . idmp-sub:StabilizerIngredientNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:StabilizerIngredient . idmp-sub:StartingMaterialRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:StartingMaterialRole . idmp-sub:StructuralModificationMethodNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:StructuralModificationMethod . idmp-sub:StructuralModificationTypeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:StructuralModificationType . idmp-sub:StructurallyDiverseSubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:StructurallyDiverseSubstance . idmp-sub:SubstanceClassifierCodeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceClassifierCode . idmp-sub:SubstanceCodeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceCode . idmp-sub:SubstanceCompositionNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceComposition . idmp-sub:SubstanceIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceIdentifier . idmp-sub:SubstanceNameNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceName . idmp-sub:SubstanceNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:Substance . idmp-sub:SubstanceRelationshipCodeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceRelationshipCode . idmp-sub:SubstanceRelationshipTypeNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceRelationshipType . idmp-sub:SubstanceRoleNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstanceRole . idmp-sub:SubstrateTargetInteractionNodeShape a sh:NodeShape ; sh:targetClass idmp-sub:SubstrateTargetInteraction . idmp-sub:someValuesFromauthorsReportPropertyShape a sh:PropertyShape ; sh:class cmns-doc:Report ; sh:minCount 1 ; sh:path cmns-doc:authors . idmp-sub:someValuesFromclassifiesAgentModificationMethodPropertyShape a sh:PropertyShape ; sh:class idmp-sub:AgentModificationMethod ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromclassifiesIsotopicSubstitutionPropertyShape a sh:PropertyShape ; sh:class idmp-sub:IsotopicSubstitution ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromclassifiesMaterialPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Material ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromclassifiesMeasurementUnitPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:MeasurementUnit ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromclassifiesNuclidePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Nuclide ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromclassifiesPharmacopoeialGradePropertyShape a sh:PropertyShape ; sh:class idmp-sub:PharmacopoeialGrade ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromclassifiesStructuralModificationMethodPropertyShape a sh:PropertyShape ; sh:class idmp-sub:StructuralModificationMethod ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromclassifiesTradeItemPropertyShape a sh:PropertyShape ; sh:class cmns-prd:TradeItem ; sh:minCount 1 ; sh:path cmns-cls:classifies . idmp-sub:someValuesFromcompliesWithUnitOfMeasureIdentificationSchemePropertyShape a sh:PropertyShape ; sh:class idmp-uom:UnitOfMeasureIdentificationScheme ; sh:minCount 1 ; sh:path cmns-col:compliesWith . idmp-sub:someValuesFromcomprisesAtomPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Atom ; sh:minCount 1 ; sh:path cmns-col:comprises . idmp-sub:someValuesFromcomprisesRegisteredIdentifierPropertyShape a sh:PropertyShape ; sh:class cmns-ra:RegisteredIdentifier ; sh:minCount 1 ; sh:path cmns-col:comprises . idmp-sub:someValuesFromdefinesMeasurementUnitPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:MeasurementUnit ; sh:minCount 1 ; sh:path cmns-dsg:defines . idmp-sub:someValuesFromdefinesQuantityKindPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:QuantityKind ; sh:minCount 1 ; sh:path cmns-dsg:defines . idmp-sub:someValuesFromdefinesSubstancePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Substance ; sh:minCount 1 ; sh:path cmns-dsg:defines . idmp-sub:someValuesFromdenotesTradeItemPropertyShape a sh:PropertyShape ; sh:class cmns-prd:TradeItem ; sh:minCount 1 ; sh:path cmns-dsg:denotes . idmp-sub:someValuesFromdescribesReferenceSourcePropertyShape a sh:PropertyShape ; sh:class idmp-sub:ReferenceSource ; sh:minCount 1 ; sh:path cmns-dsg:describes . idmp-sub:someValuesFromhasBooleanValuebooleanPropertyShape a sh:PropertyShape ; sh:datatype xsd:boolean ; sh:minCount 1 ; sh:path idmp-dtp:hasBooleanValue . idmp-sub:someValuesFromhasDefiningStructureMolecularStructurePropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularStructure ; sh:minCount 1 ; sh:path idmp-sub:hasDefiningStructure . idmp-sub:someValuesFromhasFactorPrefixPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:Prefix ; sh:minCount 1 ; sh:path cmns-qtu:hasFactor . idmp-sub:someValuesFromhasGranularMolecularPartMolecularEntityPropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularEntity ; sh:minCount 1 ; sh:path idmp-sub:hasGranularMolecularPart . idmp-sub:someValuesFromhasGranularMolecularPartMolecularGroupPropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularGroup ; sh:minCount 1 ; sh:path idmp-sub:hasGranularMolecularPart . idmp-sub:someValuesFromhasIntegerValueintegerPropertyShape a sh:PropertyShape ; sh:datatype xsd:integer ; sh:minCount 1 ; sh:path idmp-dtp:hasIntegerValue . idmp-sub:someValuesFromhasJurisdictionJurisdictionPropertyShape a sh:PropertyShape ; sh:class cmns-rga:Jurisdiction ; sh:minCount 1 ; sh:path cmns-rga:hasJurisdiction . idmp-sub:someValuesFromhasLanguageCodeLanguageIdentifierPropertyShape a sh:PropertyShape ; sh:class lcc-lr:LanguageIdentifier ; sh:minCount 1 ; sh:path idmp-dtp:hasLanguageCode . idmp-sub:someValuesFromhasLevelInHierarchynonNegativeIntegerPropertyShape a sh:PropertyShape ; sh:datatype xsd:nonNegativeInteger ; sh:minCount 1 ; sh:path idmp-dtp:hasLevelInHierarchy . idmp-sub:someValuesFromhasMeasurementUnitMeasurementUnitPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:MeasurementUnit ; sh:minCount 1 ; sh:path cmns-qtu:hasMeasurementUnit . idmp-sub:someValuesFromhasMemberAspectPropertyShape a sh:PropertyShape ; sh:class cmns-cls:Aspect ; sh:minCount 1 ; sh:path cmns-col:hasMember . idmp-sub:someValuesFromhasModificationAgentModificationAgentPropertyShape a sh:PropertyShape ; sh:class idmp-sub:ModificationAgent ; sh:minCount 1 ; sh:path idmp-sub:hasModificationAgent . idmp-sub:someValuesFromhasNameNamePropertyShape a sh:PropertyShape ; sh:class cmns-dsg:Name ; sh:minCount 1 ; sh:path cmns-dsg:hasName . idmp-sub:someValuesFromhasNameParameterNamePropertyShape a sh:PropertyShape ; sh:class idmp-sub:ParameterName ; sh:minCount 1 ; sh:path cmns-dsg:hasName . idmp-sub:someValuesFromhasOrthographyPropertyShape a sh:PropertyShape ; sh:class lcc-lr:Orthography ; sh:minCount 1 ; sh:path lcc-lr:has . idmp-sub:someValuesFromhasPartyRoleLicenseePropertyShape a sh:PropertyShape ; sh:class cmns-rga:Licensee ; sh:minCount 1 ; sh:path cmns-pts:hasPartyRole . idmp-sub:someValuesFromhasQuantityKindQuantityKindPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:QuantityKind ; sh:minCount 1 ; sh:path cmns-qtu:hasQuantityKind . idmp-sub:someValuesFromhasReachGeographicRegionPropertyShape a sh:PropertyShape ; sh:class lcc-cr:GeographicRegion ; sh:minCount 1 ; sh:path cmns-rga:hasReach . idmp-sub:someValuesFromhasReferenceSourceTypeReferenceSourceTypePropertyShape a sh:PropertyShape ; sh:class idmp-sub:ReferenceSourceType ; sh:minCount 1 ; sh:path idmp-sub:hasReferenceSourceType . idmp-sub:someValuesFromhasRegionCodeGeographicRegionIdentifierPropertyShape a sh:PropertyShape ; sh:class lcc-cr:GeographicRegionIdentifier ; sh:minCount 1 ; sh:path idmp-uom:hasRegionCode . idmp-sub:someValuesFromhasScriptPropertyShape a sh:PropertyShape ; sh:class lcc-lr:Script ; sh:minCount 1 ; sh:path lcc-lr:has . idmp-sub:someValuesFromhasStructuralModificationTypeStructuralModificationTypePropertyShape a sh:PropertyShape ; sh:class idmp-sub:StructuralModificationType ; sh:minCount 1 ; sh:path idmp-sub:hasStructuralModificationType . idmp-sub:someValuesFromhasStructureMolecularStructurePropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularStructure ; sh:minCount 1 ; sh:path idmp-sub:hasStructure . idmp-sub:someValuesFromhasSubjectRoleRolePropertyShape a sh:PropertyShape ; sh:class cmns-pts:Role ; sh:minCount 1 ; sh:path cmns-pts:hasSubjectRole . idmp-sub:someValuesFromhasSubstanceNameSubstanceNamePropertyShape a sh:PropertyShape ; sh:class idmp-sub:SubstanceName ; sh:minCount 1 ; sh:path idmp-sub:hasSubstanceName . idmp-sub:someValuesFromhasSubstanceTypeSubstanceTypeClassifierPropertyShape a sh:PropertyShape ; sh:class idmp-sub:SubstanceTypeClassifier ; sh:minCount 1 ; sh:path idmp-sub:hasSubstanceType . idmp-sub:someValuesFromhasTagstringPropertyShape a sh:PropertyShape ; sh:datatype xsd:string ; sh:minCount 1 ; sh:path lcc-lr:hasTag . idmp-sub:someValuesFromhasTextValuestringPropertyShape a sh:PropertyShape ; sh:datatype xsd:string ; sh:minCount 1 ; sh:path cmns-txt:hasTextValue . idmp-sub:someValuesFromidentifiesCodeSetPropertyShape a sh:PropertyShape ; sh:class cmns-cds:CodeSet ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesGeneElementPropertyShape a sh:PropertyShape ; sh:class idmp-sub:GeneElement ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesGenePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Gene ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesIsotopePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Isotope ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesMoietyPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Moiety ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesMolecularFragmentPropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularFragment ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesMolecularGraphPropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularGraph ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesMolecularStructurePropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularStructure ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesReferenceSourceDocumentPropertyShape a sh:PropertyShape ; sh:class idmp-sub:ReferenceSourceDocument ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesReferenceSourcePropertyShape a sh:PropertyShape ; sh:class idmp-sub:ReferenceSource ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromidentifiesValueDomainPropertyShape a sh:PropertyShape ; sh:class idmp-dtp:ValueDomain ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFromisAPartyToLicensePropertyShape a sh:PropertyShape ; sh:class cmns-rga:License ; sh:minCount 1 ; sh:path cmns-pts:isAPartyTo . idmp-sub:someValuesFromisApplicableInContextPropertyShape a sh:PropertyShape ; sh:class cmns-cxtdsg:Context ; sh:minCount 1 ; sh:path cmns-cxtdsg:isApplicableIn . idmp-sub:someValuesFromisApplicableInJurisdictionGeographicRegionIdentifierPropertyShape a sh:PropertyShape ; sh:class lcc-cr:GeographicRegionIdentifier ; sh:minCount 1 ; sh:path cmns-rga:isApplicableInJurisdiction . idmp-sub:someValuesFromisApplicableInRegulatoryContextPropertyShape a sh:PropertyShape ; sh:class idmp-sub:RegulatoryContext ; sh:minCount 1 ; sh:path cmns-cxtdsg:isApplicableIn . idmp-sub:someValuesFromisClassifiedByGeographicRegionKindPropertyShape a sh:PropertyShape ; sh:class lcc-cr:GeographicRegionKind ; sh:minCount 1 ; sh:path lcc-cr:isClassifiedBy . idmp-sub:someValuesFromisClassifiedByOfficialNameStatusPropertyShape a sh:PropertyShape ; sh:class idmp-sub:OfficialNameStatus ; sh:minCount 1 ; sh:path cmns-cls:isClassifiedBy . idmp-sub:someValuesFromisConstituentOfMolecularCompositionPropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularComposition ; sh:minCount 1 ; sh:path cmns-col:isConstituentOf . idmp-sub:someValuesFromisDefinedInSystemOfUnitsPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:SystemOfUnits ; sh:minCount 1 ; sh:path cmns-dsg:isDefinedIn . idmp-sub:someValuesFromisDerivedFromBaseUnitPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:BaseUnit ; sh:minCount 1 ; sh:path cmns-qtu:isDerivedFrom . idmp-sub:someValuesFromisDerivedFromQuantityKindPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:QuantityKind ; sh:minCount 1 ; sh:path cmns-qtu:isDerivedFrom . idmp-sub:someValuesFromisDescribedByStructuralRepresentationPropertyShape a sh:PropertyShape ; sh:class idmp-sub:StructuralRepresentation ; sh:minCount 1 ; sh:path cmns-dsg:isDescribedBy . idmp-sub:someValuesFromisDesignatedByRegistrationAuthorityPropertyShape a sh:PropertyShape ; sh:class cmns-ra:RegistrationAuthority ; sh:minCount 1 ; sh:path cmns-ra:isDesignatedBy . idmp-sub:someValuesFromisExperiencedByRadionuclidePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Radionuclide ; sh:minCount 1 ; sh:path cmns-pts:isExperiencedBy . idmp-sub:someValuesFromisIncludedInSpecifiedSubstanceGroupPropertyShape a sh:PropertyShape ; sh:class idmp-sub:SpecifiedSubstanceGroup ; sh:minCount 1 ; sh:path cmns-col:isIncludedIn . idmp-sub:someValuesFromisIncludedInSpecifiedSubstancePropertyShape a sh:PropertyShape ; sh:class idmp-sub:SpecifiedSubstance ; sh:minCount 1 ; sh:path cmns-col:isIncludedIn . idmp-sub:someValuesFromisIssuedByRegulatoryAgencyPropertyShape a sh:PropertyShape ; sh:class cmns-rga:RegulatoryAgency ; sh:minCount 1 ; sh:path cmns-prd:isIssuedBy . idmp-sub:someValuesFromisManifestedInModificationPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Modification ; sh:minCount 1 ; sh:path cmns-pts:isManifestedIn . idmp-sub:someValuesFromisMemberOfCodeSetPropertyShape a sh:PropertyShape ; sh:class cmns-cds:CodeSet ; sh:minCount 1 ; sh:path cmns-col:isMemberOf . idmp-sub:someValuesFromisMemberOfUnitOfMeasureIdentificationSchemePropertyShape a sh:PropertyShape ; sh:class idmp-uom:UnitOfMeasureIdentificationScheme ; sh:minCount 1 ; sh:path cmns-col:isMemberOf . idmp-sub:someValuesFromisMoietyOfSubstancePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Substance ; sh:minCount 1 ; sh:path idmp-sub:isMoietyOf . idmp-sub:someValuesFromisNameOfGeneElementPropertyShape a sh:PropertyShape ; sh:class idmp-sub:GeneElement ; sh:minCount 1 ; sh:path cmns-dsg:isNameOf . idmp-sub:someValuesFromisNameOfGenePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Gene ; sh:minCount 1 ; sh:path cmns-dsg:isNameOf . idmp-sub:someValuesFromisNameOfMoietyPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Moiety ; sh:minCount 1 ; sh:path cmns-dsg:isNameOf . idmp-sub:someValuesFromisNameOfNuclidePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Nuclide ; sh:minCount 1 ; sh:path cmns-dsg:isNameOf . idmp-sub:someValuesFromisNameOfQuantityPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:Quantity ; sh:minCount 1 ; sh:path cmns-dsg:isNameOf . idmp-sub:someValuesFromisPartOfMolecularEntityPropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularEntity ; sh:minCount 1 ; sh:path cmns-col:isPartOf . idmp-sub:someValuesFromisPlayedByLegalEntityPropertyShape a sh:PropertyShape ; sh:class cmns-org:LegalEntity ; sh:minCount 1 ; sh:path cmns-pts:isPlayedBy . idmp-sub:someValuesFromisPlayedByMaterialPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Material ; sh:minCount 1 ; sh:path cmns-pts:isPlayedBy . idmp-sub:someValuesFromisPlayedByMolecularFragmentPropertyShape a sh:PropertyShape ; sh:class idmp-sub:MolecularFragment ; sh:minCount 1 ; sh:path cmns-pts:isPlayedBy . idmp-sub:someValuesFromisPlayedBySubstancePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Substance ; sh:minCount 1 ; sh:path cmns-pts:isPlayedBy . idmp-sub:someValuesFromisPlayedByTargetPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Target ; sh:minCount 1 ; sh:path cmns-pts:isPlayedBy . idmp-sub:someValuesFromisProducedByManufacturerPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Manufacturer ; sh:minCount 1 ; sh:path cmns-prd:isProducedBy . idmp-sub:someValuesFromisProvidedByRegulatoryAgencyPropertyShape a sh:PropertyShape ; sh:class cmns-rga:RegulatoryAgency ; sh:minCount 1 ; sh:path cmns-prd:isProvidedBy . idmp-sub:someValuesFromisRegisteredInRegistryPropertyShape a sh:PropertyShape ; sh:class cmns-ra:Registry ; sh:minCount 1 ; sh:path cmns-ra:isRegisteredIn . idmp-sub:someValuesFromisReportedByReportingPartyPropertyShape a sh:PropertyShape ; sh:class cmns-doc:ReportingParty ; sh:minCount 1 ; sh:path cmns-doc:isReportedBy . idmp-sub:someValuesFromisReportedToPartyRolePropertyShape a sh:PropertyShape ; sh:class cmns-pts:PartyRole ; sh:minCount 1 ; sh:path cmns-doc:isReportedTo . idmp-sub:someValuesFromisSpecifiedBySubstancePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Substance ; sh:minCount 1 ; sh:path cmns-doc:isSpecifiedBy . idmp-sub:someValuesFromissuesGS1CompanyPrefixPropertyShape a sh:PropertyShape ; sh:class cmns-prd:GS1CompanyPrefix ; sh:minCount 1 ; sh:path cmns-prd:issues . idmp-sub:someValuesFromproducesGoodPropertyShape a sh:PropertyShape ; sh:class cmns-prd:Good ; sh:minCount 1 ; sh:path cmns-prd:produces . idmp-sub:someValuesFromprovidesRegistrationServicePropertyShape a sh:PropertyShape ; sh:class cmns-ra:RegistrationService ; sh:minCount 1 ; sh:path cmns-prd:provides . idmp-sub:someValuesFromspecializesSubstancePropertyShape a sh:PropertyShape ; sh:class idmp-sub:Substance ; sh:minCount 1 ; sh:path cmns-qtu:specializes . idmp-sub:someValuesFromspecifiesAnalysisPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Analysis ; sh:minCount 1 ; sh:path cmns-doc:specifies . idmp-sub:someValuesFromspecifiesMaterialPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Material ; sh:minCount 1 ; sh:path cmns-doc:specifies . idmp-sub:someValuesFromspecifiesModificationPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Modification ; sh:minCount 1 ; sh:path cmns-doc:specifies . idmp-sub:someValuesFromspecifiesOpticalRotationPropertyShape a sh:PropertyShape ; sh:class idmp-sub:OpticalRotation ; sh:minCount 1 ; sh:path cmns-doc:specifies . idmp-sub:someValuesFromundergoesModificationPropertyShape a sh:PropertyShape ; sh:class idmp-sub:Modification ; sh:minCount 1 ; sh:path cmns-pts:undergoes . idmp-sub:someValuesFromundergoesRadioactiveDecayPropertyShape a sh:PropertyShape ; sh:class idmp-sub:RadioactiveDecay ; sh:minCount 1 ; sh:path cmns-pts:undergoes . idmp-uom:CodeSystemIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-uom:CodeSystemIdentifier . idmp-uom:ISO11240LexiconCodeEntryNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromidentifiesMeasurementUnitPropertyShape idmp-sub:someValuesFrominverseOfisIdentifiedByUnitOfMeasureIdentifierPropertyShape ) ; sh:targetClass idmp-uom:ISO11240LexiconCodeEntry . idmp-uom:UnitOfMeasureIdentifierNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromidentifiesMeasurementUnitPropertyShape idmp-sub:someValuesFrominverseOfisIdentifiedByUnitOfMeasureIdentifierPropertyShape ) ; sh:targetClass idmp-uom:UnitOfMeasureIdentifier . idmp-uom:UnitOfPresentationNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass idmp-uom:UnitOfPresentation . idmp-dtp:CodingRationaleNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:CodingRationale . idmp-dtp:CompressionAlgorithmNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:CompressionAlgorithm . idmp-dtp:DatatypeFlavorNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:DatatypeFlavor . idmp-dtp:ISO21090-BooleanNonNullDatatypeNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:ISO21090-BooleanNonNullDatatype . idmp-dtp:ISO21090-ConceptDescriptorNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:ISO21090-ConceptDescriptor . idmp-dtp:ISO21090-EntityNameNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:ISO21090-EntityName . idmp-dtp:IntegrityCheckAlgorithmNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:IntegrityCheckAlgorithm . idmp-dtp:NullFlavorNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:NullFlavor . idmp-dtp:UpdateModeNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:UpdateMode . idmp-dtp:ValueDomainIdentifierNodeShape a sh:NodeShape ; sh:targetClass idmp-dtp:ValueDomainIdentifier . cmns-cds:CodeElementNodeShape a sh:NodeShape ; sh:targetClass cmns-cds:CodeElement . cmns-cxtdsg:ContextualNameNodeShape a sh:NodeShape ; sh:targetClass cmns-cxtdsg:ContextualName . cmns-doc:ReportNodeShape a sh:NodeShape ; sh:targetClass cmns-doc:Report . cmns-doc:ReportingPartyNodeShape a sh:NodeShape ; sh:targetClass cmns-doc:ReportingParty . cmns-loc:CountyNodeShape a sh:NodeShape ; sh:targetClass cmns-loc:County . cmns-loc:FederalStateNodeShape a sh:NodeShape ; sh:targetClass cmns-loc:FederalState . cmns-pts:SituationNodeShape a sh:NodeShape ; sh:targetClass cmns-pts:Situation . cmns-prd:GS1CompanyPrefixIssuerNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromprovidesServicePropertyShape idmp-sub:someValuesFrominverseOfisProvidedByServiceProviderPropertyShape ) ; sh:targetClass cmns-prd:GS1CompanyPrefixIssuer . cmns-prd:GS1UserNodeShape a sh:NodeShape ; sh:targetClass cmns-prd:GS1User . cmns-prd:GlobalTradeItemNumberNodeShape a sh:NodeShape ; sh:targetClass cmns-prd:GlobalTradeItemNumber . cmns-prd:ProducerNodeShape a sh:NodeShape ; sh:targetClass cmns-prd:Producer . cmns-prd:ServiceNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisProvidedByServiceProviderPropertyShape idmp-sub:someValuesFrominverseOfprovidesServicePropertyShape ) ; sh:targetClass cmns-prd:Service . cmns-prd:ServiceProviderNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromprovidesServicePropertyShape idmp-sub:someValuesFrominverseOfisProvidedByServiceProviderPropertyShape ) ; sh:targetClass cmns-prd:ServiceProvider . cmns-prd:StockKeepingUnitNodeShape a sh:NodeShape ; sh:targetClass cmns-prd:StockKeepingUnit . cmns-prd:UniformProductCodeNodeShape a sh:NodeShape ; sh:targetClass cmns-prd:UniformProductCode . cmns-qtu:ArbitraryUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:ArbitraryUnit . cmns-qtu:BaseUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:BaseUnit . cmns-qtu:CoherentDerivedUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:CoherentDerivedUnit . cmns-qtu:ConstantNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:Constant . cmns-qtu:ConversionBasedUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:ConversionBasedUnit . cmns-qtu:DerivedQuantityKindNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:DerivedQuantityKind . cmns-qtu:DerivedUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:DerivedUnit . cmns-qtu:IntervalScaleNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:IntervalScale . cmns-qtu:LogarithmicScaleNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:LogarithmicScale . cmns-qtu:MeasurementScaleNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:MeasurementScale . cmns-qtu:MeasurementUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:MeasurementUnit . cmns-qtu:NominalScaleNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:NominalScale . cmns-qtu:OrdinalScaleNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:OrdinalScale . cmns-qtu:PhysicalUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:PhysicalUnit . cmns-qtu:PrefixedUnitNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape ) ; sh:targetClass cmns-qtu:PrefixedUnit . cmns-qtu:QuantityKindPowerFactorNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:QuantityKindPowerFactor . cmns-qtu:QuantityNameNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:QuantityName . cmns-qtu:QuantityNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:Quantity . cmns-qtu:QuantityValueNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:QuantityValue . cmns-qtu:RatioScaleNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:RatioScale . cmns-qtu:SystemOfQuantitiesNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:SystemOfQuantities . cmns-qtu:SystemOfUnitsNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:SystemOfUnits . cmns-qtu:VariableNodeShape a sh:NodeShape ; sh:targetClass cmns-qtu:Variable . cmns-ra:RegisteredIdentifierNodeShape a sh:NodeShape ; sh:targetClass cmns-ra:RegisteredIdentifier . cmns-ra:RegistrarNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromprovidesServicePropertyShape idmp-sub:someValuesFrominverseOfisProvidedByServiceProviderPropertyShape ) ; sh:targetClass cmns-ra:Registrar . cmns-ra:RegistrationAuthorityNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromprovidesServicePropertyShape idmp-sub:someValuesFrominverseOfisProvidedByServiceProviderPropertyShape ) ; sh:targetClass cmns-ra:RegistrationAuthority . cmns-ra:RegistrationServiceNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisProvidedByServiceProviderPropertyShape idmp-sub:someValuesFrominverseOfprovidesServicePropertyShape ) ; sh:targetClass cmns-ra:RegistrationService . cmns-ra:RegistryEntryNodeShape a sh:NodeShape ; sh:targetClass cmns-ra:RegistryEntry . cmns-rga:GovernmentIssuedLicenseNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIssuedByLicensorPropertyShape idmp-sub:someValuesFrominverseOfissuesLicensePropertyShape ) ; sh:targetClass cmns-rga:GovernmentIssuedLicense . cmns-rga:JurisdictionNodeShape a sh:NodeShape ; sh:targetClass cmns-rga:Jurisdiction . cmns-rga:LicenseNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisIssuedByLicensorPropertyShape idmp-sub:someValuesFrominverseOfissuesLicensePropertyShape ) ; sh:targetClass cmns-rga:License . cmns-rga:LicensorNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromissuesLicensePropertyShape idmp-sub:someValuesFrominverseOfisIssuedByLicensorPropertyShape ) ; sh:targetClass cmns-rga:Licensor . cmns-rga:RegulatoryAgencyNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromprovidesServicePropertyShape idmp-sub:someValuesFrominverseOfisProvidedByServiceProviderPropertyShape ) ; sh:targetClass cmns-rga:RegulatoryAgency . cmns-rga:RegulatoryReportNodeShape a sh:NodeShape ; sh:targetClass cmns-rga:RegulatoryReport . cmns-rga:RegulatoryServiceNodeShape a sh:NodeShape ; sh:or ( idmp-sub:someValuesFromisProvidedByServiceProviderPropertyShape idmp-sub:someValuesFrominverseOfprovidesServicePropertyShape ) ; sh:targetClass cmns-rga:RegulatoryService . lcc-cr:Alpha2CodeNodeShape a sh:NodeShape ; sh:targetClass lcc-cr:Alpha2Code . lcc-cr:Alpha3CodeNodeShape a sh:NodeShape ; sh:targetClass lcc-cr:Alpha3Code . lcc-cr:CountrySubdivisionNodeShape a sh:NodeShape ; sh:targetClass lcc-cr:CountrySubdivision . lcc-cr:GeographicRegionIdentifierNodeShape a sh:NodeShape ; sh:targetClass lcc-cr:GeographicRegionIdentifier . lcc-lr:Alpha2CodeNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:Alpha2Code . lcc-lr:Alpha3CodeNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:Alpha3Code . lcc-lr:BibliographicCodeNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:BibliographicCode . lcc-lr:CollectiveLanguageCodeNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:CollectiveLanguageCode . lcc-lr:IdentifierNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:Identifier . lcc-lr:IndividualLanguageIdentifierNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:IndividualLanguageIdentifier . lcc-lr:LanguageIdentifierNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:LanguageIdentifier . lcc-lr:MacrolanguageIdentifierNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:MacrolanguageIdentifier . lcc-lr:SpecialPurposeCodeNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:SpecialPurposeCode . lcc-lr:TerminologyCodeNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:TerminologyCode . lcc-lr:WritingSystemNodeShape a sh:NodeShape ; sh:targetClass lcc-lr:WritingSystem . idmp-sub:someValuesFrominverseOfisIssuedByLicensorPropertyShape a sh:PropertyShape ; sh:class cmns-rga:License ; sh:minCount 1 ; sh:path [ sh:inversePath cmns-prd:isIssuedBy ] . idmp-sub:someValuesFromissuesLicensePropertyShape a sh:PropertyShape ; sh:class cmns-rga:License ; sh:minCount 1 ; sh:path cmns-prd:issues . idmp-sub:someValuesFromidentifiesMeasurementUnitPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:MeasurementUnit ; sh:minCount 1 ; sh:path cmns-id:identifies . idmp-sub:someValuesFrominverseOfisIdentifiedByUnitOfMeasureIdentifierPropertyShape a sh:PropertyShape ; sh:class cmns-qtu:MeasurementUnit ; sh:minCount 1 ; sh:path [ sh:inversePath cmns-id:isIdentifiedBy ] . idmp-sub:someValuesFrominverseOfissuesLicensePropertyShape a sh:PropertyShape ; sh:class cmns-rga:Licensor ; sh:minCount 1 ; sh:path [ sh:inversePath cmns-prd:issues ] . idmp-sub:someValuesFromisIssuedByLicensorPropertyShape a sh:PropertyShape ; sh:class cmns-rga:Licensor ; sh:minCount 1 ; sh:path cmns-prd:isIssuedBy . idmp-sub:someValuesFrominverseOfprovidesServicePropertyShape a sh:PropertyShape ; sh:class cmns-prd:ServiceProvider ; sh:minCount 1 ; sh:path [ sh:inversePath cmns-prd:provides ] . idmp-sub:someValuesFromisProvidedByServiceProviderPropertyShape a sh:PropertyShape ; sh:class cmns-prd:ServiceProvider ; sh:minCount 1 ; sh:path cmns-prd:isProvidedBy . idmp-sub:someValuesFrominverseOfisProvidedByServiceProviderPropertyShape a sh:PropertyShape ; sh:class cmns-prd:Service ; sh:minCount 1 ; sh:path [ sh:inversePath cmns-prd:isProvidedBy ] . idmp-sub:someValuesFromprovidesServicePropertyShape a sh:PropertyShape ; sh:class cmns-prd:Service ; sh:minCount 1 ; sh:path cmns-prd:provides . idmp-sub:someValuesFrominverseOfidentifiesMeasurementUnitPropertyShape a sh:PropertyShape ; sh:class idmp-uom:UnitOfMeasureIdentifier ; sh:minCount 1 ; sh:path [ sh:inversePath cmns-id:identifies ] . idmp-sub:someValuesFromisIdentifiedByUnitOfMeasureIdentifierPropertyShape a sh:PropertyShape ; sh:class idmp-uom:UnitOfMeasureIdentifier ; sh:minCount 1 ; sh:path cmns-id:isIdentifiedBy .