From e167adcb1cd42835e35ab4dad5a7f4664aa2e92f Mon Sep 17 00:00:00 2001 From: Milicic Brandt Date: Mon, 15 Sep 2025 17:07:32 +0200 Subject: [PATCH 1/8] feat: refactor QUDT schema with annotation properties --- src/main/rdf/schema/SCHEMA_QUDT.ttl | 506 ++++----------------------- src/main/rdf/schema/catalog-v001.xml | 4 + 2 files changed, 72 insertions(+), 438 deletions(-) create mode 100644 src/main/rdf/schema/catalog-v001.xml diff --git a/src/main/rdf/schema/SCHEMA_QUDT.ttl b/src/main/rdf/schema/SCHEMA_QUDT.ttl index 3be784284..a07df99e4 100644 --- a/src/main/rdf/schema/SCHEMA_QUDT.ttl +++ b/src/main/rdf/schema/SCHEMA_QUDT.ttl @@ -36,22 +36,7 @@ qudt:AbstractQuantityKind a owl:Restriction ; owl:allValuesFrom qudt:QuantityKind ; owl:onProperty skos:broader ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:symbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:altSymbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexSymbol ; - ] . + ] . qudt:AngleUnit a owl:Class ; @@ -140,12 +125,7 @@ qudt:CardinalityType qudt:plainTextDescription "In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set 'A = {2, 4, 6}' contains 3 elements, and therefore 'A' has a cardinality of 3. There are two approaches to cardinality – one which compares sets directly using bijections and injections, and another which uses cardinal numbers." ; rdfs:isDefinedBy ; rdfs:label "Cardinality Type" ; - rdfs:subClassOf qudt:EnumeratedValue ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty dtype:literal ; - ] . + rdfs:subClassOf qudt:EnumeratedValue . qudt:CharEncodingType a owl:Class ; @@ -160,34 +140,14 @@ qudt:Citation rdfs:comment "Provides a simple way of making citations."^^rdf:HTML ; rdfs:isDefinedBy ; rdfs:label "Citation" ; - rdfs:subClassOf qudt:Concept ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty dcterms:description ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:url ; - ] . + rdfs:subClassOf qudt:Concept . qudt:Comment a owl:Class ; rdfs:isDefinedBy ; rdfs:label "Comment" ; rdfs:subClassOf owl:Thing ; - rdfs:subClassOf qudt:Verifiable ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty dcterms:description ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:rationale ; - ] . + rdfs:subClassOf qudt:Verifiable . qudt:Concept a owl:Class ; @@ -199,37 +159,7 @@ qudt:Concept a owl:Restriction ; owl:allValuesFrom qudt:Rule ; owl:onProperty qudt:hasRule ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty dcterms:description ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty dcterms:isReplacedBy ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty qudt:abbreviation ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty qudt:deprecated ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty qudt:id ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty qudt:plainTextDescription ; - ] . + ] . qudt:ConstantValue a owl:Class ; @@ -268,12 +198,6 @@ qudt:CurrencyUnit rdfs:isDefinedBy ; rdfs:label "Currency Unit" ; rdfs:subClassOf qudt:DimensionlessUnit ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:currencyCode ; - xsd:pattern "^\\d{3}$" ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -363,11 +287,6 @@ qudt:Datatype owl:allValuesFrom qudt:OrderedType ; owl:onProperty qudt:orderedType ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:ansiSQLName ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; @@ -378,80 +297,15 @@ qudt:Datatype owl:maxCardinality 1 ; owl:onProperty qudt:bounded ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:cName ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty qudt:cardinality ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:id ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:javaName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:jsName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:matlabName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:microsoftSQLServerName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:mySQLName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:odbcName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:oleDBName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:oracleSQLName ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty qudt:orderedType ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:protocolBuffersName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:pythonName ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty qudt:vbName ; ] . qudt:DateTimeStringEncodingType @@ -459,12 +313,7 @@ qudt:DateTimeStringEncodingType dcterms:description "Date Time encodings are logical encodings for expressing date/time quantities as strings by applying unambiguous formatting and parsing rules." ; rdfs:isDefinedBy ; rdfs:label "Date Time String Encoding Type" ; - rdfs:subClassOf qudt:StringEncodingType ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:allowedPattern ; - ] . + rdfs:subClassOf qudt:StringEncodingType . qudt:DecimalPrefix a owl:Class ; @@ -532,27 +381,7 @@ qudt:EnumeratedValue rdfs:label "Enumerated Value" ; rdfs:subClassOf dtype:EnumeratedValue ; rdfs:subClassOf qudt:Concept ; - rdfs:subClassOf qudt:Verifiable ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty dcterms:description ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty qudt:abbreviation ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty qudt:symbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:int ; - owl:onProperty qudt:altSymbol ; - ] . + rdfs:subClassOf qudt:Verifiable . qudt:Enumeration a owl:Class ; @@ -576,11 +405,6 @@ qudt:Enumeration owl:allValuesFrom qudt:EnumeratedValue ; owl:onProperty qudt:element ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:int ; - owl:onProperty qudt:abbreviation ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; @@ -604,36 +428,11 @@ qudt:Figure rdfs:isDefinedBy ; rdfs:label "Figure" ; rdfs:subClassOf qudt:Concept ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:cardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:imageLocation ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:figureCaption ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:figureLabel ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty qudt:height ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:image ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:landscape ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; @@ -778,51 +577,6 @@ qudt:PhysicalConstant a owl:Restriction ; owl:allValuesFrom xsd:boolean ; owl:onProperty qudt:exactConstant ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexDefinition ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:mathMLdefinition ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:int ; - owl:onProperty qudt:altSymbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:dbpediaMatch ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:isoNormativeReference ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexSymbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:normativeReference ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:symbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:ucumCode ; ] . qudt:PlaneAngleUnit @@ -842,30 +596,10 @@ qudt:Prefix owl:allValuesFrom qudt:Prefix ; owl:onProperty qudt:exactMatch ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:allValuesFrom qudt:UCUMcs-term ; - owl:onProperty qudt:ucumCode ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty qudt:prefixMultiplier ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:int ; - owl:onProperty qudt:altSymbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexSymbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:symbol ; ] . qudt:Quantifiable @@ -1004,26 +738,11 @@ qudt:QuantityKind owl:allValuesFrom qudt:QuantityKindDimensionVector_SI ; owl:onProperty qudt:dimensionVectorForSI ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty qudt:iec61360Code ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty qudt:dimensionVectorForSI ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexDefinition ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:mathMLdefinition ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; @@ -1123,16 +842,6 @@ qudt:QuantityKindDimensionVector a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty qudt:dimensionlessExponent ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexDefinition ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexSymbol ; ] . qudt:QuantityKindDimensionVector_CGS @@ -1237,11 +946,6 @@ qudt:Rule a owl:Restriction ; owl:allValuesFrom qudt:RuleType ; owl:onProperty qudt:ruleType ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:rationale ; ] . qudt:RuleType @@ -1552,21 +1256,6 @@ qudt:Unit owl:allValuesFrom qudt:Unit ; owl:onProperty qudt:scalingOf ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty qudt:iec61360Code ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty qudt:udunitsCode ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty qudt:uneceCommonCode ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:int ; @@ -1597,11 +1286,6 @@ qudt:Unit owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty qudt:hasDimensionVector ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:mathMLdefinition ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; @@ -1612,30 +1296,10 @@ qudt:Unit owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty qudt:qkdvNumerator ; ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:int ; - owl:onProperty qudt:altSymbol ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexDefinition ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:latexSymbol ; - ] ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality "0"^^xsd:nonNegativeInteger ; owl:onProperty qudt:siUnitsExpression ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:symbol ; ] . qudt:UserQuantityKind @@ -1655,89 +1319,89 @@ qudt:UserQuantityKind ] . dcterms:contributor - a rdf:Property ; + a rdf:Property , owl:AnnotationProperty; rdfs:label "contributor" . dcterms:created - a rdf:Property ; + a rdf:Property, owl:AnnotationProperty ; rdfs:label "created" ; rdfs:range xsd:date . dcterms:modified - a rdf:Property ; + a rdf:Property , owl:AnnotationProperty; rdfs:label "modified" ; rdfs:range xsd:date . prov:wasDerivedFrom - a rdf:Property ; + a rdf:Property, owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "was derived from" ; rdfs:range qudt:Concept . qudt:ansiSQLName - a rdf:Property ; + a owl:AnnotationProperty; rdfs:isDefinedBy ; rdfs:label "ANSI SQL Name" ; rdfs:range xsd:string . qudt:bits - a rdf:Property ; + a owl:DatatypeProperty; rdfs:isDefinedBy ; rdfs:label "bits" ; rdfs:range xsd:integer . qudt:bytes - a owl:DatatypeProperty, rdf:Property ; + a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "bytes" ; rdfs:range xsd:integer . qudt:cName - a rdf:Property ; + a owl:AnnotationProperty; rdfs:comment "Datatype name in the C programming language" ; rdfs:isDefinedBy ; rdfs:label "C Language name" ; rdfs:range xsd:string . qudt:length - a rdf:Property ; + a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "length" ; rdfs:range xsd:integer . qudt:minExclusive - a owl:DatatypeProperty, rdf:Property ; + a owl:DatatypeProperty ; dcterms:description "minExclusive is the exclusive lower bound of the value space for a datatype with the ordered property. The value of minExclusive must be in the value space of the base type or be equal to {value} in {base type definition}." ; rdfs:isDefinedBy ; rdfs:label "min exclusive" ; rdfs:subPropertyOf qudt:lowerBound . qudt:oracleSQLName - a rdf:Property ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "ORACLE SQL name" ; rdfs:range xsd:string . qudt:protocolBuffersName - a rdf:Property ; + a owl:AnnotationProperty; rdfs:isDefinedBy ; rdfs:label "protocol buffers name" ; rdfs:range xsd:string . qudt:pythonName - a rdf:Property ; + a owl:AnnotationProperty; rdfs:isDefinedBy ; rdfs:label "python name" ; rdfs:range xsd:string . qudt:vbName - a rdf:Property ; + a owl:AnnotationProperty; rdfs:isDefinedBy ; rdfs:label "Vusal Basic name" ; rdfs:range xsd:string . dcterms:isReplacedBy - a owl:ObjectProperty ; + a owl:AnnotationProperty ; rdfs:label "is replaced by" . qudt:applicableCGSUnit @@ -2149,7 +1813,7 @@ qudt:numeratorDimensionVector rdfs:range qudt:QuantityKindDimensionVector . qudt:omUnit - a owl:ObjectProperty ; + a owl:AnnotationProperty ; rdfs:domain qudt:Unit ; rdfs:isDefinedBy ; rdfs:label "om unit" . @@ -2280,40 +1944,38 @@ voag:supersededBy rdfs:label "superseded by" . dcterms:description - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:label "description" . dtype:literal a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "literal" ; - rdfs:range xsd:string ; - rdfs:subPropertyOf dtype:literal . + rdfs:range xsd:string . qudt:abbreviation - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of abase unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols. For example, sq ft means square foot, and cu ft means cubic foot."^^rdf:HTML ; rdfs:isDefinedBy ; rdfs:label "abbreviation" ; rdfs:range xsd:string . qudt:acronym - a owl:DatatypeProperty ; + a owl:AnnotationProperty; rdfs:isDefinedBy ; rdfs:label "acronym" ; rdfs:range xsd:string . qudt:allowedPattern - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "allowed pattern" . qudt:altSymbol - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "An alternative symbol"^^qudt:LatexString ; rdfs:isDefinedBy ; - rdfs:label "alt symbol" ; - rdfs:subPropertyOf dtype:literal . + rdfs:label "alt symbol" . qudt:bounded a owl:DatatypeProperty ; @@ -2345,7 +2007,7 @@ qudt:conversionOffsetSN rdfs:range xsd:double . qudt:currencyCode - a owl:DatatypeProperty, owl:FunctionalProperty ; + a owl:AnnotationProperty; dcterms:description "Alphabetic Currency Code as defined by ISO 4217. For example, US Dollar has the code 'USD'."^^rdf:HTML ; rdfs:isDefinedBy ; rdfs:label "currency code" ; @@ -2360,7 +2022,7 @@ qudt:currencyExponent rdfs:range xsd:integer . qudt:currencyNumber - a owl:DatatypeProperty, owl:FunctionalProperty ; + a owl:AnnotationProperty ; dcterms:description "Numeric currency Code as defined by ISO 4217. For example, US Dollar has the number 840."^^rdf:HTML ; rdfs:isDefinedBy ; rdfs:label "currency number" ; @@ -2374,7 +2036,7 @@ qudt:dataStructure rdfs:range xsd:string . qudt:deprecated - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "deprecated" ; rdfs:range xsd:boolean . @@ -2437,33 +2099,33 @@ qudt:factorUnitScalar rdfs:label "factorUnitScalar" . qudt:fieldCode - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; qudt:plainTextDescription "A field code is a generic property for representing unique codes that make up other identifers. For example each QuantityKind class caries a domain code as its field code." ; rdfs:isDefinedBy ; rdfs:label "field code" ; rdfs:range xsd:string . qudt:figureCaption - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "figure caption" ; rdfs:range xsd:string . qudt:figureLabel - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "figure label" ; rdfs:range xsd:string . qudt:guidance - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:domain qudt:Concept ; rdfs:isDefinedBy ; rdfs:label "guidance" ; rdfs:range rdf:HTML . qudt:hasCitation - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; qudt:plainTextDescription "Used to provide an annotation for an informative reference." ; rdfs:isDefinedBy ; rdfs:label "citation" ; @@ -2476,7 +2138,7 @@ qudt:height rdfs:range xsd:string . qudt:id - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "The \"qudt:id\" is an identifier string that uniquely identifies a QUDT concept. The identifier is constructed using a prefix. For example, units are coded using the pattern: \"UCCCENNNN\", where \"CCC\" is a numeric code or a category and \"NNNN\" is a digit string for a member element of that category. For scaled units there may be an addition field that has the format \"QNN\" where \"NN\" is a digit string representing an exponent power, and \"Q\" is a qualifier that indicates with the code \"P\" that the power is a positive decimal exponent, or the code \"N\" for a negative decimal exponent, or the code \"B\" for binary positive exponents."^^rdf:HTML ; rdfs:domain qudt:Concept ; rdfs:isDefinedBy ; @@ -2484,19 +2146,19 @@ qudt:id rdfs:range xsd:string . qudt:iec61360Code - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "iec-61360 code" ; rdfs:range xsd:string . qudt:image - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "image" ; rdfs:range xsd:anyURI . qudt:imageLocation - a owl:DatatypeProperty ; + a owl:AnnotationProperty; rdfs:isDefinedBy ; rdfs:label "image location" ; rdfs:range xsd:anyURI . @@ -2515,7 +2177,7 @@ qudt:isMetricUnit rdfs:range xsd:boolean . qudt:isoNormativeReference - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "Provides a way to reference the ISO unit definition."^^rdf:HTML ; rdfs:isDefinedBy ; rdfs:label "normative reference (ISO)" ; @@ -2523,31 +2185,31 @@ qudt:isoNormativeReference rdfs:subPropertyOf qudt:normativeReference . qudt:javaName - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "java name" ; rdfs:range xsd:string . qudt:jsName - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "Javascript name" ; rdfs:range xsd:string . qudt:landscape - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "landscape" ; rdfs:range xsd:boolean . qudt:latexDefinition - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "latex definition" ; rdfs:range qudt:LatexString . qudt:latexSymbol - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description """ The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. For example, the symbol for an Ohm is $ohm$. @@ -2563,20 +2225,20 @@ qudt:lowerBound rdfs:label "lower bound" . qudt:mathDefinition - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "math definition" ; rdfs:range xsd:string . qudt:mathMLdefinition - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "mathML definition" ; rdfs:range xsd:string ; rdfs:subPropertyOf qudt:mathDefinition . qudt:matlabName - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "matlab name" ; rdfs:range xsd:string . @@ -2597,7 +2259,7 @@ qudt:maxInclusive rdfs:subPropertyOf qudt:upperBound . qudt:microsoftSQLServerName - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "Microsoft SQL Server name" ; rdfs:range xsd:string . @@ -2610,7 +2272,7 @@ qudt:minInclusive rdfs:subPropertyOf qudt:lowerBound . qudt:mySQLName - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "MySQL name" ; rdfs:range xsd:string . @@ -2623,26 +2285,26 @@ qudt:negativeDeltaLimit rdfs:range xsd:string . qudt:normativeReference - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "Provides a way to reference information that is an authorative source providing a standard definition"^^rdf:HTML ; rdfs:isDefinedBy ; rdfs:label "normative reference" ; rdfs:range xsd:anyURI . qudt:numericValue - a owl:DatatypeProperty ; + a owl:ObjectProperty ; rdfs:isDefinedBy ; rdfs:label "numeric value" ; rdfs:range qudt:NumericUnion . qudt:odbcName - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "ODBC name" ; rdfs:range xsd:string . qudt:oleDBName - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "OLE DB (Object Linking and Embedding, Database, sometimes written as OLEDB or OLE-DB), an API designed by Microsoft, allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented using the Component Object Model (COM); it is otherwise unrelated to OLE. " ; qudt:informativeReference "http://en.wikipedia.org/wiki/OLE_DB"^^xsd:anyURI ; qudt:informativeReference "http://msdn.microsoft.com/en-us/library/windows/desktop/ms714931(v=vs.85).aspx"^^xsd:anyURI ; @@ -2651,25 +2313,25 @@ qudt:oleDBName rdfs:range xsd:string . qudt:onlineReference - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "online reference" ; rdfs:range xsd:anyURI . qudt:order - a owl:DatatypeProperty ; + a owl:DatatypeProperty; rdfs:isDefinedBy ; rdfs:label "order" ; rdfs:range xsd:nonNegativeInteger . qudt:outOfScope - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "out of scope" ; rdfs:range xsd:boolean . qudt:plainTextDescription - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "A plain text description is used to provide a description with only simple ASCII characters for cases where LaTeX , HTML or other markup would not be appropriate."^^rdf:HTML ; rdfs:isDefinedBy ; rdfs:label "description (plain text)" ; @@ -2733,18 +2395,17 @@ qudt:standardUncertaintySN rdfs:range xsd:double . qudt:symbol - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description """ The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. For example, the symbol for an Ohm is $ohm$. This contrasts with 'unit:abbreviation', which gives a short alphanumeric abbreviation for the unit, 'ohm' for Ohm. """^^qudt:LatexString ; rdfs:isDefinedBy ; - rdfs:label "symbol" ; - rdfs:subPropertyOf dtype:literal . + rdfs:label "symbol" . qudt:ucumCode - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "

ucumCode associates a QUDT unit with its UCUM code (case-sensitive).

In SHACL the values are derived from specific ucum properties using 'sh:values'.

"^^rdf:HTML ; dcterms:source "https://ucum.org/ucum.html"^^xsd:anyURI ; rdfs:isDefinedBy ; @@ -2757,7 +2418,7 @@ qudt:ucumCode rdfs:subPropertyOf skos:notation . qudt:udunitsCode - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "The UDUNITS package supports units of physical quantities. Its C library provides for arithmetic manipulation of units and for conversion of numeric values between compatible units. The package contains an extensive unit database, which is in XML format and user-extendable. The package also contains a command-line utility for investigating units and converting values."^^rdf:HTML ; dcterms:source "https://www.unidata.ucar.edu/software/udunits/"^^xsd:anyURI ; rdfs:isDefinedBy ; @@ -2765,7 +2426,7 @@ qudt:udunitsCode rdfs:range xsd:string . qudt:uneceCommonCode - a owl:DatatypeProperty ; + a owl:AnnotationProperty ; dcterms:description "The UN/CEFACT Recommendation 20 provides three character alphabetic and alphanumeric codes for representing units of measurement for length, area, volume/capacity, mass (weight), time, and other quantities used in international trade. The codes are intended for use in manual and/or automated systems for the exchange of information between participants in international trade."^^rdf:HTML ; dcterms:source "https://service.unece.org/trade/uncefact/vocabulary/rec20/"^^xsd:anyURI ; dcterms:source "https://unece.org/trade/documents/2021/06/uncefact-rec20-0"^^xsd:anyURI ; @@ -2780,7 +2441,7 @@ qudt:upperBound rdfs:range xsd:anySimpleType . qudt:url - a owl:DatatypeProperty ; + a owl:DatatypeProperty; rdfs:isDefinedBy ; rdfs:label "url" ; rdfs:range xsd:anyURI . @@ -3088,38 +2749,7 @@ qudt:Verifiable rdfs:comment "An aspect class that holds properties that provide external knowledge and specifications of a given resource." ; rdfs:isDefinedBy ; rdfs:label "Verifiable" ; - rdfs:subClassOf qudt:Aspect ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:dbpediaMatch ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:maxCardinality "1"^^xsd:nonNegativeInteger ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:wikidataMatch ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:isoNormativeReference ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:isoNormativeReference ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:normativeReference ; - ] ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:minCardinality "0"^^xsd:nonNegativeInteger ; - owl:onProperty qudt:normativeReference ; - ] . + rdfs:subClassOf qudt:Aspect . qudt:floatPercentage a rdfs:Datatype ; diff --git a/src/main/rdf/schema/catalog-v001.xml b/src/main/rdf/schema/catalog-v001.xml new file mode 100644 index 000000000..5cbe3cf26 --- /dev/null +++ b/src/main/rdf/schema/catalog-v001.xml @@ -0,0 +1,4 @@ + + + + From 6f8afcd151e1c023335662ce5f47278805a5b6e8 Mon Sep 17 00:00:00 2001 From: Milicic Brandt Date: Tue, 16 Sep 2025 11:28:40 +0200 Subject: [PATCH 2/8] chore: updated Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21249a2b3..0174522e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project is in the process of adopting [Semantic Versioning](https://sem ### Fixed +- Fixed the declaration of some properties (most importantly changing from `owl:DatatypeProperty` to `owl:AnnotationProperty`) in `SCHEMA_QUDT.ttl`. - Fixed typo in `qudt:ucumCode` of `unit:MegaN-PER-M2` - Tweaked some multi-line validation error messages for environments that only display the first line (e.g. TopBraid) - Fixed `qudt:ucumCode` of many units, such that they all follow the same pattern (see 'Changed' below), and such that From 68069d00a50cd3e15efa4272a4f8242942ef6408 Mon Sep 17 00:00:00 2001 From: mbmaja <> Date: Mon, 10 Nov 2025 15:36:12 +0000 Subject: [PATCH 3/8] Apply formatting rules --- src/main/rdf/schema/SCHEMA_QUDT.ttl | 692 ++++++++++++++-------------- 1 file changed, 346 insertions(+), 346 deletions(-) diff --git a/src/main/rdf/schema/SCHEMA_QUDT.ttl b/src/main/rdf/schema/SCHEMA_QUDT.ttl index a07df99e4..6cb4e589d 100644 --- a/src/main/rdf/schema/SCHEMA_QUDT.ttl +++ b/src/main/rdf/schema/SCHEMA_QUDT.ttl @@ -36,7 +36,7 @@ qudt:AbstractQuantityKind a owl:Restriction ; owl:allValuesFrom qudt:QuantityKind ; owl:onProperty skos:broader ; - ] . + ] . qudt:AngleUnit a owl:Class ; @@ -125,7 +125,7 @@ qudt:CardinalityType qudt:plainTextDescription "In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set 'A = {2, 4, 6}' contains 3 elements, and therefore 'A' has a cardinality of 3. There are two approaches to cardinality – one which compares sets directly using bijections and injections, and another which uses cardinal numbers." ; rdfs:isDefinedBy ; rdfs:label "Cardinality Type" ; - rdfs:subClassOf qudt:EnumeratedValue . + rdfs:subClassOf qudt:EnumeratedValue . qudt:CharEncodingType a owl:Class ; @@ -147,7 +147,7 @@ qudt:Comment rdfs:isDefinedBy ; rdfs:label "Comment" ; rdfs:subClassOf owl:Thing ; - rdfs:subClassOf qudt:Verifiable . + rdfs:subClassOf qudt:Verifiable . qudt:Concept a owl:Class ; @@ -159,7 +159,7 @@ qudt:Concept a owl:Restriction ; owl:allValuesFrom qudt:Rule ; owl:onProperty qudt:hasRule ; - ] . + ] . qudt:ConstantValue a owl:Class ; @@ -313,7 +313,7 @@ qudt:DateTimeStringEncodingType dcterms:description "Date Time encodings are logical encodings for expressing date/time quantities as strings by applying unambiguous formatting and parsing rules." ; rdfs:isDefinedBy ; rdfs:label "Date Time String Encoding Type" ; - rdfs:subClassOf qudt:StringEncodingType . + rdfs:subClassOf qudt:StringEncodingType . qudt:DecimalPrefix a owl:Class ; @@ -381,7 +381,7 @@ qudt:EnumeratedValue rdfs:label "Enumerated Value" ; rdfs:subClassOf dtype:EnumeratedValue ; rdfs:subClassOf qudt:Concept ; - rdfs:subClassOf qudt:Verifiable . + rdfs:subClassOf qudt:Verifiable . qudt:Enumeration a owl:Class ; @@ -1319,91 +1319,25 @@ qudt:UserQuantityKind ] . dcterms:contributor - a rdf:Property , owl:AnnotationProperty; + a owl:AnnotationProperty, rdf:Property ; rdfs:label "contributor" . dcterms:created - a rdf:Property, owl:AnnotationProperty ; + a owl:AnnotationProperty, rdf:Property ; rdfs:label "created" ; rdfs:range xsd:date . dcterms:modified - a rdf:Property , owl:AnnotationProperty; + a owl:AnnotationProperty, rdf:Property ; rdfs:label "modified" ; rdfs:range xsd:date . prov:wasDerivedFrom - a rdf:Property, owl:AnnotationProperty ; + a owl:AnnotationProperty, rdf:Property ; rdfs:isDefinedBy ; rdfs:label "was derived from" ; rdfs:range qudt:Concept . -qudt:ansiSQLName - a owl:AnnotationProperty; - rdfs:isDefinedBy ; - rdfs:label "ANSI SQL Name" ; - rdfs:range xsd:string . - -qudt:bits - a owl:DatatypeProperty; - rdfs:isDefinedBy ; - rdfs:label "bits" ; - rdfs:range xsd:integer . - -qudt:bytes - a owl:DatatypeProperty ; - rdfs:isDefinedBy ; - rdfs:label "bytes" ; - rdfs:range xsd:integer . - -qudt:cName - a owl:AnnotationProperty; - rdfs:comment "Datatype name in the C programming language" ; - rdfs:isDefinedBy ; - rdfs:label "C Language name" ; - rdfs:range xsd:string . - -qudt:length - a owl:DatatypeProperty ; - rdfs:isDefinedBy ; - rdfs:label "length" ; - rdfs:range xsd:integer . - -qudt:minExclusive - a owl:DatatypeProperty ; - dcterms:description "minExclusive is the exclusive lower bound of the value space for a datatype with the ordered property. The value of minExclusive must be in the value space of the base type or be equal to {value} in {base type definition}." ; - rdfs:isDefinedBy ; - rdfs:label "min exclusive" ; - rdfs:subPropertyOf qudt:lowerBound . - -qudt:oracleSQLName - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "ORACLE SQL name" ; - rdfs:range xsd:string . - -qudt:protocolBuffersName - a owl:AnnotationProperty; - rdfs:isDefinedBy ; - rdfs:label "protocol buffers name" ; - rdfs:range xsd:string . - -qudt:pythonName - a owl:AnnotationProperty; - rdfs:isDefinedBy ; - rdfs:label "python name" ; - rdfs:range xsd:string . - -qudt:vbName - a owl:AnnotationProperty; - rdfs:isDefinedBy ; - rdfs:label "Vusal Basic name" ; - rdfs:range xsd:string . - -dcterms:isReplacedBy - a owl:AnnotationProperty ; - rdfs:label "is replaced by" . - qudt:applicableCGSUnit a owl:ObjectProperty ; rdfs:isDefinedBy ; @@ -1812,11 +1746,11 @@ qudt:numeratorDimensionVector rdfs:label "numerator dimension vector" ; rdfs:range qudt:QuantityKindDimensionVector . -qudt:omUnit - a owl:AnnotationProperty ; - rdfs:domain qudt:Unit ; +qudt:numericValue + a owl:ObjectProperty ; rdfs:isDefinedBy ; - rdfs:label "om unit" . + rdfs:label "numeric value" ; + rdfs:range qudt:NumericUnion . qudt:orderedType a owl:ObjectProperty ; @@ -1943,45 +1877,29 @@ voag:supersededBy rdfs:isDefinedBy ; rdfs:label "superseded by" . -dcterms:description - a owl:AnnotationProperty ; - rdfs:label "description" . - dtype:literal a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "literal" ; rdfs:range xsd:string . -qudt:abbreviation - a owl:AnnotationProperty ; - dcterms:description "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of abase unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols. For example, sq ft means square foot, and cu ft means cubic foot."^^rdf:HTML ; - rdfs:isDefinedBy ; - rdfs:label "abbreviation" ; - rdfs:range xsd:string . - -qudt:acronym - a owl:AnnotationProperty; - rdfs:isDefinedBy ; - rdfs:label "acronym" ; - rdfs:range xsd:string . - -qudt:allowedPattern - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "allowed pattern" . - -qudt:altSymbol - a owl:AnnotationProperty ; - dcterms:description "An alternative symbol"^^qudt:LatexString ; +qudt:bits + a owl:DatatypeProperty ; rdfs:isDefinedBy ; - rdfs:label "alt symbol" . + rdfs:label "bits" ; + rdfs:range xsd:integer . qudt:bounded a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "bounded" . +qudt:bytes + a owl:DatatypeProperty ; + rdfs:isDefinedBy ; + rdfs:label "bytes" ; + rdfs:range xsd:integer . + qudt:conversionMultiplier a owl:DatatypeProperty, owl:FunctionalProperty ; rdfs:isDefinedBy ; @@ -2006,14 +1924,6 @@ qudt:conversionOffsetSN rdfs:label "conversion offset scientific" ; rdfs:range xsd:double . -qudt:currencyCode - a owl:AnnotationProperty; - dcterms:description "Alphabetic Currency Code as defined by ISO 4217. For example, US Dollar has the code 'USD'."^^rdf:HTML ; - rdfs:isDefinedBy ; - rdfs:label "currency code" ; - rdfs:range xsd:string ; - rdfs:seeAlso "https://en.wikipedia.org/wiki/ISO_4217"^^xsd:anyURI . - qudt:currencyExponent a owl:DatatypeProperty, owl:FunctionalProperty ; dcterms:description "The currency exponent indicates the number of decimal places between a major currency unit and its minor currency unit. For example, the US dollar is the major currency unit of the United States, and the US cent is the minor currency unit. Since one cent is 1/100 of a dollar, the US dollar has a currency exponent of 2. However, the Japanese Yen has no minor currency units, so the yen has a currency exponent of 0."^^rdf:HTML ; @@ -2021,26 +1931,12 @@ qudt:currencyExponent rdfs:label "currency exponent" ; rdfs:range xsd:integer . -qudt:currencyNumber - a owl:AnnotationProperty ; - dcterms:description "Numeric currency Code as defined by ISO 4217. For example, US Dollar has the number 840."^^rdf:HTML ; - rdfs:isDefinedBy ; - rdfs:label "currency number" ; - rdfs:range xsd:string ; - rdfs:seeAlso "https://en.wikipedia.org/wiki/ISO_4217"^^xsd:anyURI . - qudt:dataStructure a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "data structure" ; rdfs:range xsd:string . -qudt:deprecated - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "deprecated" ; - rdfs:range xsd:boolean . - qudt:dimensionExponent a owl:DatatypeProperty ; rdfs:isDefinedBy ; @@ -2098,71 +1994,12 @@ qudt:factorUnitScalar rdfs:isDefinedBy ; rdfs:label "factorUnitScalar" . -qudt:fieldCode - a owl:AnnotationProperty ; - qudt:plainTextDescription "A field code is a generic property for representing unique codes that make up other identifers. For example each QuantityKind class caries a domain code as its field code." ; - rdfs:isDefinedBy ; - rdfs:label "field code" ; - rdfs:range xsd:string . - -qudt:figureCaption - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "figure caption" ; - rdfs:range xsd:string . - -qudt:figureLabel - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "figure label" ; - rdfs:range xsd:string . - -qudt:guidance - a owl:AnnotationProperty ; - rdfs:domain qudt:Concept ; - rdfs:isDefinedBy ; - rdfs:label "guidance" ; - rdfs:range rdf:HTML . - -qudt:hasCitation - a owl:AnnotationProperty ; - qudt:plainTextDescription "Used to provide an annotation for an informative reference." ; - rdfs:isDefinedBy ; - rdfs:label "citation" ; - rdfs:range xsd:string . - qudt:height a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "height" ; rdfs:range xsd:string . -qudt:id - a owl:AnnotationProperty ; - dcterms:description "The \"qudt:id\" is an identifier string that uniquely identifies a QUDT concept. The identifier is constructed using a prefix. For example, units are coded using the pattern: \"UCCCENNNN\", where \"CCC\" is a numeric code or a category and \"NNNN\" is a digit string for a member element of that category. For scaled units there may be an addition field that has the format \"QNN\" where \"NN\" is a digit string representing an exponent power, and \"Q\" is a qualifier that indicates with the code \"P\" that the power is a positive decimal exponent, or the code \"N\" for a negative decimal exponent, or the code \"B\" for binary positive exponents."^^rdf:HTML ; - rdfs:domain qudt:Concept ; - rdfs:isDefinedBy ; - rdfs:label "qudt id" ; - rdfs:range xsd:string . - -qudt:iec61360Code - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "iec-61360 code" ; - rdfs:range xsd:string . - -qudt:image - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "image" ; - rdfs:range xsd:anyURI . - -qudt:imageLocation - a owl:AnnotationProperty; - rdfs:isDefinedBy ; - rdfs:label "image location" ; - rdfs:range xsd:anyURI . - qudt:isDeltaQuantity a owl:DatatypeProperty ; rdfs:comment "This property is used to identify a Quantity instance that is a measure of a change, or interval, of some property, rather than a measure of its absolute value. This is important for measurements such as temperature differences where the conversion among units would be calculated differently because of offsets." ; @@ -2176,73 +2013,17 @@ qudt:isMetricUnit rdfs:label "is metric unit" ; rdfs:range xsd:boolean . -qudt:isoNormativeReference - a owl:AnnotationProperty ; - dcterms:description "Provides a way to reference the ISO unit definition."^^rdf:HTML ; - rdfs:isDefinedBy ; - rdfs:label "normative reference (ISO)" ; - rdfs:range xsd:anyURI ; - rdfs:subPropertyOf qudt:normativeReference . - -qudt:javaName - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "java name" ; - rdfs:range xsd:string . - -qudt:jsName - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "Javascript name" ; - rdfs:range xsd:string . - -qudt:landscape - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "landscape" ; - rdfs:range xsd:boolean . - -qudt:latexDefinition - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "latex definition" ; - rdfs:range qudt:LatexString . - -qudt:latexSymbol - a owl:AnnotationProperty ; - dcterms:description """ - The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. - For example, the symbol for an Ohm is $ohm$. - This contrasts with 'unit:abbreviation', which gives a short alphanumeric abbreviation for the unit, 'ohm' for Ohm. - """^^qudt:LatexString ; +qudt:length + a owl:DatatypeProperty ; rdfs:isDefinedBy ; - rdfs:label "latex symbol" ; - rdfs:range qudt:LatexString . + rdfs:label "length" ; + rdfs:range xsd:integer . qudt:lowerBound a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "lower bound" . -qudt:mathDefinition - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "math definition" ; - rdfs:range xsd:string . - -qudt:mathMLdefinition - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "mathML definition" ; - rdfs:range xsd:string ; - rdfs:subPropertyOf qudt:mathDefinition . - -qudt:matlabName - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "matlab name" ; - rdfs:range xsd:string . - qudt:maxExclusive a owl:DatatypeProperty ; dcterms:description "maxExclusive is the exclusive upper bound of the value space for a datatype with the ordered property. The value of maxExclusive must be in the value space of the base type or be equal to {value} in {base type definition}." ; @@ -2258,11 +2039,12 @@ qudt:maxInclusive rdfs:label "max inclusive" ; rdfs:subPropertyOf qudt:upperBound . -qudt:microsoftSQLServerName - a owl:AnnotationProperty ; +qudt:minExclusive + a owl:DatatypeProperty ; + dcterms:description "minExclusive is the exclusive lower bound of the value space for a datatype with the ordered property. The value of minExclusive must be in the value space of the base type or be equal to {value} in {base type definition}." ; rdfs:isDefinedBy ; - rdfs:label "Microsoft SQL Server name" ; - rdfs:range xsd:string . + rdfs:label "min exclusive" ; + rdfs:subPropertyOf qudt:lowerBound . qudt:minInclusive a owl:DatatypeProperty ; @@ -2271,12 +2053,6 @@ qudt:minInclusive rdfs:label "min inclusive" ; rdfs:subPropertyOf qudt:lowerBound . -qudt:mySQLName - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "MySQL name" ; - rdfs:range xsd:string . - qudt:negativeDeltaLimit a owl:DatatypeProperty ; dcterms:description "A negative change limit between consecutive sample values for a parameter. The Negative Delta may be the encoded value or engineering units value depending on whether or not a Calibrator is defined."^^rdf:HTML ; @@ -2284,59 +2060,12 @@ qudt:negativeDeltaLimit rdfs:label "negative delta limit" ; rdfs:range xsd:string . -qudt:normativeReference - a owl:AnnotationProperty ; - dcterms:description "Provides a way to reference information that is an authorative source providing a standard definition"^^rdf:HTML ; - rdfs:isDefinedBy ; - rdfs:label "normative reference" ; - rdfs:range xsd:anyURI . - -qudt:numericValue - a owl:ObjectProperty ; - rdfs:isDefinedBy ; - rdfs:label "numeric value" ; - rdfs:range qudt:NumericUnion . - -qudt:odbcName - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "ODBC name" ; - rdfs:range xsd:string . - -qudt:oleDBName - a owl:AnnotationProperty ; - dcterms:description "OLE DB (Object Linking and Embedding, Database, sometimes written as OLEDB or OLE-DB), an API designed by Microsoft, allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented using the Component Object Model (COM); it is otherwise unrelated to OLE. " ; - qudt:informativeReference "http://en.wikipedia.org/wiki/OLE_DB"^^xsd:anyURI ; - qudt:informativeReference "http://msdn.microsoft.com/en-us/library/windows/desktop/ms714931(v=vs.85).aspx"^^xsd:anyURI ; - rdfs:isDefinedBy ; - rdfs:label "OLE DB name" ; - rdfs:range xsd:string . - -qudt:onlineReference - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "online reference" ; - rdfs:range xsd:anyURI . - qudt:order - a owl:DatatypeProperty; + a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "order" ; rdfs:range xsd:nonNegativeInteger . -qudt:outOfScope - a owl:AnnotationProperty ; - rdfs:isDefinedBy ; - rdfs:label "out of scope" ; - rdfs:range xsd:boolean . - -qudt:plainTextDescription - a owl:AnnotationProperty ; - dcterms:description "A plain text description is used to provide a description with only simple ASCII characters for cases where LaTeX , HTML or other markup would not be appropriate."^^rdf:HTML ; - rdfs:isDefinedBy ; - rdfs:label "description (plain text)" ; - rdfs:range xsd:string . - qudt:positiveDeltaLimit a owl:DatatypeProperty ; dcterms:description "A positive change limit between consecutive sample values for a parameter. The Positive Delta may be the encoded value or engineering units value depending on whether or not a Calibrator is defined."^^rdf:HTML ; @@ -2394,46 +2123,6 @@ qudt:standardUncertaintySN rdfs:label "standard uncertainty scientific" ; rdfs:range xsd:double . -qudt:symbol - a owl:AnnotationProperty ; - dcterms:description """ - The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. - For example, the symbol for an Ohm is $ohm$. - This contrasts with 'unit:abbreviation', which gives a short alphanumeric abbreviation for the unit, 'ohm' for Ohm. - """^^qudt:LatexString ; - rdfs:isDefinedBy ; - rdfs:label "symbol" . - -qudt:ucumCode - a owl:AnnotationProperty ; - dcterms:description "

ucumCode associates a QUDT unit with its UCUM code (case-sensitive).

In SHACL the values are derived from specific ucum properties using 'sh:values'.

"^^rdf:HTML ; - dcterms:source "https://ucum.org/ucum.html"^^xsd:anyURI ; - rdfs:isDefinedBy ; - rdfs:label "ucum code" ; - rdfs:range [ - a owl:Class ; - owl:unionOf ( qudt:UCUMcs qudt:UCUMcs-term ) ; - ] ; - rdfs:seeAlso ; - rdfs:subPropertyOf skos:notation . - -qudt:udunitsCode - a owl:AnnotationProperty ; - dcterms:description "The UDUNITS package supports units of physical quantities. Its C library provides for arithmetic manipulation of units and for conversion of numeric values between compatible units. The package contains an extensive unit database, which is in XML format and user-extendable. The package also contains a command-line utility for investigating units and converting values."^^rdf:HTML ; - dcterms:source "https://www.unidata.ucar.edu/software/udunits/"^^xsd:anyURI ; - rdfs:isDefinedBy ; - rdfs:label "udunits code" ; - rdfs:range xsd:string . - -qudt:uneceCommonCode - a owl:AnnotationProperty ; - dcterms:description "The UN/CEFACT Recommendation 20 provides three character alphabetic and alphanumeric codes for representing units of measurement for length, area, volume/capacity, mass (weight), time, and other quantities used in international trade. The codes are intended for use in manual and/or automated systems for the exchange of information between participants in international trade."^^rdf:HTML ; - dcterms:source "https://service.unece.org/trade/uncefact/vocabulary/rec20/"^^xsd:anyURI ; - dcterms:source "https://unece.org/trade/documents/2021/06/uncefact-rec20-0"^^xsd:anyURI ; - rdfs:isDefinedBy ; - rdfs:label "unece common code" ; - rdfs:range xsd:string . - qudt:upperBound a owl:DatatypeProperty ; rdfs:isDefinedBy ; @@ -2441,7 +2130,7 @@ qudt:upperBound rdfs:range xsd:anySimpleType . qudt:url - a owl:DatatypeProperty; + a owl:DatatypeProperty ; rdfs:isDefinedBy ; rdfs:label "url" ; rdfs:range xsd:anyURI . @@ -2480,6 +2169,14 @@ dcterms:creator a owl:AnnotationProperty ; rdfs:label "creator" . +dcterms:description + a owl:AnnotationProperty ; + rdfs:label "description" . + +dcterms:isReplacedBy + a owl:AnnotationProperty ; + rdfs:label "is replaced by" . + dcterms:rights a owl:AnnotationProperty ; rdfs:label "rights" ; @@ -2501,12 +2198,71 @@ dcterms:title rdfs:label "title" ; rdfs:range xsd:string . +qudt:abbreviation + a owl:AnnotationProperty ; + dcterms:description "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of abase unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols. For example, sq ft means square foot, and cu ft means cubic foot."^^rdf:HTML ; + rdfs:isDefinedBy ; + rdfs:label "abbreviation" ; + rdfs:range xsd:string . + +qudt:acronym + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "acronym" ; + rdfs:range xsd:string . + +qudt:allowedPattern + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "allowed pattern" . + +qudt:altSymbol + a owl:AnnotationProperty ; + dcterms:description "An alternative symbol"^^qudt:LatexString ; + rdfs:isDefinedBy ; + rdfs:label "alt symbol" . + +qudt:ansiSQLName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "ANSI SQL Name" ; + rdfs:range xsd:string . + +qudt:cName + a owl:AnnotationProperty ; + rdfs:comment "Datatype name in the C programming language" ; + rdfs:isDefinedBy ; + rdfs:label "C Language name" ; + rdfs:range xsd:string . + +qudt:currencyCode + a owl:AnnotationProperty ; + dcterms:description "Alphabetic Currency Code as defined by ISO 4217. For example, US Dollar has the code 'USD'."^^rdf:HTML ; + rdfs:isDefinedBy ; + rdfs:label "currency code" ; + rdfs:range xsd:string ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/ISO_4217"^^xsd:anyURI . + +qudt:currencyNumber + a owl:AnnotationProperty ; + dcterms:description "Numeric currency Code as defined by ISO 4217. For example, US Dollar has the number 840."^^rdf:HTML ; + rdfs:isDefinedBy ; + rdfs:label "currency number" ; + rdfs:range xsd:string ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/ISO_4217"^^xsd:anyURI . + qudt:dbpediaMatch a owl:AnnotationProperty ; rdfs:isDefinedBy ; rdfs:label "dbpedia match" ; rdfs:range xsd:anyURI . +qudt:deprecated + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "deprecated" ; + rdfs:range xsd:boolean . + qudt:example a owl:AnnotationProperty ; rdfs:comment "The 'qudt:example' property is used to annotate an instance of a class with a reference to a concept that is an example. The type of this property is 'rdf:Property'. This allows both scalar and object ranges."^^rdf:HTML ; @@ -2519,6 +2275,65 @@ qudt:expression rdfs:isDefinedBy ; rdfs:label "expression" . +qudt:fieldCode + a owl:AnnotationProperty ; + qudt:plainTextDescription "A field code is a generic property for representing unique codes that make up other identifers. For example each QuantityKind class caries a domain code as its field code." ; + rdfs:isDefinedBy ; + rdfs:label "field code" ; + rdfs:range xsd:string . + +qudt:figureCaption + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "figure caption" ; + rdfs:range xsd:string . + +qudt:figureLabel + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "figure label" ; + rdfs:range xsd:string . + +qudt:guidance + a owl:AnnotationProperty ; + rdfs:domain qudt:Concept ; + rdfs:isDefinedBy ; + rdfs:label "guidance" ; + rdfs:range rdf:HTML . + +qudt:hasCitation + a owl:AnnotationProperty ; + qudt:plainTextDescription "Used to provide an annotation for an informative reference." ; + rdfs:isDefinedBy ; + rdfs:label "citation" ; + rdfs:range xsd:string . + +qudt:id + a owl:AnnotationProperty ; + dcterms:description "The \"qudt:id\" is an identifier string that uniquely identifies a QUDT concept. The identifier is constructed using a prefix. For example, units are coded using the pattern: \"UCCCENNNN\", where \"CCC\" is a numeric code or a category and \"NNNN\" is a digit string for a member element of that category. For scaled units there may be an addition field that has the format \"QNN\" where \"NN\" is a digit string representing an exponent power, and \"Q\" is a qualifier that indicates with the code \"P\" that the power is a positive decimal exponent, or the code \"N\" for a negative decimal exponent, or the code \"B\" for binary positive exponents."^^rdf:HTML ; + rdfs:domain qudt:Concept ; + rdfs:isDefinedBy ; + rdfs:label "qudt id" ; + rdfs:range xsd:string . + +qudt:iec61360Code + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "iec-61360 code" ; + rdfs:range xsd:string . + +qudt:image + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "image" ; + rdfs:range xsd:anyURI . + +qudt:imageLocation + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "image location" ; + rdfs:range xsd:anyURI . + qudt:informativeReference a owl:AnnotationProperty ; dcterms:description "Provides a way to reference a source that provided useful but non-normative information."^^rdf:HTML ; @@ -2526,6 +2341,191 @@ qudt:informativeReference rdfs:label "informative reference" ; rdfs:range xsd:anyURI . +qudt:isoNormativeReference + a owl:AnnotationProperty ; + dcterms:description "Provides a way to reference the ISO unit definition."^^rdf:HTML ; + rdfs:isDefinedBy ; + rdfs:label "normative reference (ISO)" ; + rdfs:range xsd:anyURI ; + rdfs:subPropertyOf qudt:normativeReference . + +qudt:javaName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "java name" ; + rdfs:range xsd:string . + +qudt:jsName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "Javascript name" ; + rdfs:range xsd:string . + +qudt:landscape + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "landscape" ; + rdfs:range xsd:boolean . + +qudt:latexDefinition + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "latex definition" ; + rdfs:range qudt:LatexString . + +qudt:latexSymbol + a owl:AnnotationProperty ; + dcterms:description """ + The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. + For example, the symbol for an Ohm is $ohm$. + This contrasts with 'unit:abbreviation', which gives a short alphanumeric abbreviation for the unit, 'ohm' for Ohm. + """^^qudt:LatexString ; + rdfs:isDefinedBy ; + rdfs:label "latex symbol" ; + rdfs:range qudt:LatexString . + +qudt:mathDefinition + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "math definition" ; + rdfs:range xsd:string . + +qudt:mathMLdefinition + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "mathML definition" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf qudt:mathDefinition . + +qudt:matlabName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "matlab name" ; + rdfs:range xsd:string . + +qudt:microsoftSQLServerName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "Microsoft SQL Server name" ; + rdfs:range xsd:string . + +qudt:mySQLName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "MySQL name" ; + rdfs:range xsd:string . + +qudt:normativeReference + a owl:AnnotationProperty ; + dcterms:description "Provides a way to reference information that is an authorative source providing a standard definition"^^rdf:HTML ; + rdfs:isDefinedBy ; + rdfs:label "normative reference" ; + rdfs:range xsd:anyURI . + +qudt:odbcName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "ODBC name" ; + rdfs:range xsd:string . + +qudt:oleDBName + a owl:AnnotationProperty ; + dcterms:description "OLE DB (Object Linking and Embedding, Database, sometimes written as OLEDB or OLE-DB), an API designed by Microsoft, allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented using the Component Object Model (COM); it is otherwise unrelated to OLE. " ; + qudt:informativeReference "http://en.wikipedia.org/wiki/OLE_DB"^^xsd:anyURI ; + qudt:informativeReference "http://msdn.microsoft.com/en-us/library/windows/desktop/ms714931(v=vs.85).aspx"^^xsd:anyURI ; + rdfs:isDefinedBy ; + rdfs:label "OLE DB name" ; + rdfs:range xsd:string . + +qudt:omUnit + a owl:AnnotationProperty ; + rdfs:domain qudt:Unit ; + rdfs:isDefinedBy ; + rdfs:label "om unit" . + +qudt:onlineReference + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "online reference" ; + rdfs:range xsd:anyURI . + +qudt:oracleSQLName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "ORACLE SQL name" ; + rdfs:range xsd:string . + +qudt:outOfScope + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "out of scope" ; + rdfs:range xsd:boolean . + +qudt:plainTextDescription + a owl:AnnotationProperty ; + dcterms:description "A plain text description is used to provide a description with only simple ASCII characters for cases where LaTeX , HTML or other markup would not be appropriate."^^rdf:HTML ; + rdfs:isDefinedBy ; + rdfs:label "description (plain text)" ; + rdfs:range xsd:string . + +qudt:protocolBuffersName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "protocol buffers name" ; + rdfs:range xsd:string . + +qudt:pythonName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "python name" ; + rdfs:range xsd:string . + +qudt:symbol + a owl:AnnotationProperty ; + dcterms:description """ + The symbol is a glyph that is used to represent some concept, typically a unit or a quantity, in a compact form. + For example, the symbol for an Ohm is $ohm$. + This contrasts with 'unit:abbreviation', which gives a short alphanumeric abbreviation for the unit, 'ohm' for Ohm. + """^^qudt:LatexString ; + rdfs:isDefinedBy ; + rdfs:label "symbol" . + +qudt:ucumCode + a owl:AnnotationProperty ; + dcterms:description "

ucumCode associates a QUDT unit with its UCUM code (case-sensitive).

In SHACL the values are derived from specific ucum properties using 'sh:values'.

"^^rdf:HTML ; + dcterms:source "https://ucum.org/ucum.html"^^xsd:anyURI ; + rdfs:isDefinedBy ; + rdfs:label "ucum code" ; + rdfs:range [ + a owl:Class ; + owl:unionOf ( qudt:UCUMcs qudt:UCUMcs-term ) ; + ] ; + rdfs:seeAlso ; + rdfs:subPropertyOf skos:notation . + +qudt:udunitsCode + a owl:AnnotationProperty ; + dcterms:description "The UDUNITS package supports units of physical quantities. Its C library provides for arithmetic manipulation of units and for conversion of numeric values between compatible units. The package contains an extensive unit database, which is in XML format and user-extendable. The package also contains a command-line utility for investigating units and converting values."^^rdf:HTML ; + dcterms:source "https://www.unidata.ucar.edu/software/udunits/"^^xsd:anyURI ; + rdfs:isDefinedBy ; + rdfs:label "udunits code" ; + rdfs:range xsd:string . + +qudt:uneceCommonCode + a owl:AnnotationProperty ; + dcterms:description "The UN/CEFACT Recommendation 20 provides three character alphabetic and alphanumeric codes for representing units of measurement for length, area, volume/capacity, mass (weight), time, and other quantities used in international trade. The codes are intended for use in manual and/or automated systems for the exchange of information between participants in international trade."^^rdf:HTML ; + dcterms:source "https://service.unece.org/trade/uncefact/vocabulary/rec20/"^^xsd:anyURI ; + dcterms:source "https://unece.org/trade/documents/2021/06/uncefact-rec20-0"^^xsd:anyURI ; + rdfs:isDefinedBy ; + rdfs:label "unece common code" ; + rdfs:range xsd:string . + +qudt:vbName + a owl:AnnotationProperty ; + rdfs:isDefinedBy ; + rdfs:label "Vusal Basic name" ; + rdfs:range xsd:string . + qudt:wikidataMatch a owl:AnnotationProperty ; rdfs:isDefinedBy ; From 74c819c2e9fba9a3ed69c9eb31263e28689f7c14 Mon Sep 17 00:00:00 2001 From: mbmaja Date: Mon, 10 Nov 2025 15:54:20 +0000 Subject: [PATCH 4/8] Apply -Pfix changes from CI (manual validation build) --- .../rdf/vocab/unit/VOCAB_QUDT-UNITS-ALL.ttl | 160 +++++++++--------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/src/main/rdf/vocab/unit/VOCAB_QUDT-UNITS-ALL.ttl b/src/main/rdf/vocab/unit/VOCAB_QUDT-UNITS-ALL.ttl index c73021774..cc52947f9 100644 --- a/src/main/rdf/vocab/unit/VOCAB_QUDT-UNITS-ALL.ttl +++ b/src/main/rdf/vocab/unit/VOCAB_QUDT-UNITS-ALL.ttl @@ -1858,14 +1858,14 @@ unit:BARAD qudt:conversionMultiplierSN 1.0E-1 ; qudt:exactMatch unit:BARYE ; qudt:hasDimensionVector qkdv:A0E0L-1I0M1H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:DYN ; - ] ; qudt:hasFactorUnit [ qudt:exponent -2 ; qudt:hasUnit unit:CentiM ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:DYN ; + ] ; qudt:hasQuantityKind quantitykind:ForcePerArea ; qudt:hasQuantityKind quantitykind:VaporPressure ; qudt:symbol "Ba" ; @@ -1951,14 +1951,14 @@ unit:BARYE qudt:derivedCoherentUnitOfSystem sou:CGS ; qudt:exactMatch unit:BARAD ; qudt:hasDimensionVector qkdv:A0E0L-1I0M1H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent -2 ; - qudt:hasUnit unit:CentiM ; - ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; qudt:hasUnit unit:DYN ; ] ; + qudt:hasFactorUnit [ + qudt:exponent -2 ; + qudt:hasUnit unit:CentiM ; + ] ; qudt:hasQuantityKind quantitykind:ForcePerArea ; qudt:hasQuantityKind quantitykind:VaporPressure ; qudt:informativeReference "http://en.wikipedia.org/wiki/Barye?oldid=478631158"^^xsd:anyURI ; @@ -4154,11 +4154,11 @@ unit:C qudt:hasDimensionVector qkdv:A0E1L0I0M0H0T1D0 ; qudt:hasFactorUnit [ qudt:exponent 1 ; - qudt:hasUnit unit:SEC ; + qudt:hasUnit unit:A ; ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; - qudt:hasUnit unit:A ; + qudt:hasUnit unit:SEC ; ] ; qudt:hasQuantityKind quantitykind:ElectricCharge ; qudt:iec61360Code "0112/2///62720#UAA130" ; @@ -13473,6 +13473,10 @@ unit:ERG qudt:derivedUnitOfSystem sou:CGS ; qudt:derivedUnitOfSystem sou:CGS-GAUSS ; qudt:hasDimensionVector qkdv:A0E0L2I0M1H0T-2D0 ; + qudt:hasFactorUnit [ + qudt:exponent 2 ; + qudt:hasUnit unit:CentiM ; + ] ; qudt:hasFactorUnit [ qudt:exponent -2 ; qudt:hasUnit unit:SEC ; @@ -13481,10 +13485,6 @@ unit:ERG qudt:exponent 1 ; qudt:hasUnit unit:GM ; ] ; - qudt:hasFactorUnit [ - qudt:exponent 2 ; - qudt:hasUnit unit:CentiM ; - ] ; qudt:hasQuantityKind quantitykind:Energy ; qudt:iec61360Code "0112/2///62720#UAA429" ; qudt:informativeReference "http://en.wikipedia.org/wiki/Erg?oldid=490293432"^^xsd:anyURI ; @@ -15984,14 +15984,14 @@ unit:G qudt:conversionMultiplierSN 9.80665E0 ; qudt:factorUnitScalar 9.80665 ; qudt:hasDimensionVector qkdv:A0E0L1I0M0H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:M ; - ] ; qudt:hasFactorUnit [ qudt:exponent -2 ; qudt:hasUnit unit:SEC ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:M ; + ] ; qudt:hasQuantityKind quantitykind:Acceleration ; qudt:hasQuantityKind quantitykind:LinearAcceleration ; qudt:iec61360Code "0112/2///62720#UAA521" ; @@ -16014,14 +16014,14 @@ unit:GALILEO qudt:derivedUnitOfSystem sou:CGS ; qudt:derivedUnitOfSystem sou:CGS-GAUSS ; qudt:hasDimensionVector qkdv:A0E0L1I0M0H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent -2 ; - qudt:hasUnit unit:SEC ; - ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; qudt:hasUnit unit:CentiM ; ] ; + qudt:hasFactorUnit [ + qudt:exponent -2 ; + qudt:hasUnit unit:SEC ; + ] ; qudt:hasQuantityKind quantitykind:Acceleration ; qudt:hasQuantityKind quantitykind:LinearAcceleration ; qudt:iec61360Code "0112/2///62720#UAB042" ; @@ -18330,14 +18330,14 @@ unit:GM_Nitrogen-PER-M2-DAY qudt:conversionMultiplierSN 1.157407407407407407407407407407407E-8 ; qudt:expression "$g N-m^{-2}-day^{-1}$."^^qudt:LatexString ; qudt:hasDimensionVector qkdv:A0E0L-2I0M1H0T-1D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:GM ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:DAY ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:GM ; + ] ; qudt:hasFactorUnit [ qudt:exponent -2 ; qudt:hasUnit unit:M ; @@ -18526,14 +18526,14 @@ unit:GRAY qudt:definedUnitOfSystem sou:SI ; qudt:derivedCoherentUnitOfSystem sou:SI ; qudt:hasDimensionVector qkdv:A0E0L2I0M0H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:J ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:KiloGM ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:J ; + ] ; qudt:hasQuantityKind quantitykind:AbsorbedDose ; qudt:hasQuantityKind quantitykind:Kerma ; qudt:hasReciprocalUnit unit:KiloGM-PER-J ; @@ -23002,14 +23002,14 @@ unit:KAT qudt:definedUnitOfSystem sou:SI ; qudt:derivedCoherentUnitOfSystem sou:SI ; qudt:hasDimensionVector qkdv:A1E0L0I0M0H0T-1D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:MOL ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:SEC ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:MOL ; + ] ; qudt:hasQuantityKind quantitykind:CatalyticActivity ; qudt:iec61360Code "0112/2///62720#UAB196" ; qudt:informativeReference "http://en.wikipedia.org/wiki/Katal?oldid=486431865"^^xsd:anyURI ; @@ -29334,14 +29334,14 @@ unit:LA qudt:derivedCoherentUnitOfSystem sou:CGS ; qudt:factorUnitScalar 0.31830988618 ; qudt:hasDimensionVector qkdv:A0E0L-2I1M0H0T0D0 ; - qudt:hasFactorUnit [ - qudt:exponent -2 ; - qudt:hasUnit unit:M ; - ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; qudt:hasUnit unit:CD ; ] ; + qudt:hasFactorUnit [ + qudt:exponent -2 ; + qudt:hasUnit unit:M ; + ] ; qudt:hasQuantityKind quantitykind:Luminance ; qudt:iec61360Code "0112/2///62720#UAB259" ; qudt:informativeReference "http://en.wikipedia.org/wiki/Lambert?oldid=494078267"^^xsd:anyURI ; @@ -29382,14 +29382,14 @@ unit:LA_FT qudt:expression "$ft-L$"^^qudt:LatexString ; qudt:factorUnitScalar 0.31830988618 ; qudt:hasDimensionVector qkdv:A0E0L-2I1M0H0T0D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:CD ; - ] ; qudt:hasFactorUnit [ qudt:exponent -2 ; qudt:hasUnit unit:FT ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:CD ; + ] ; qudt:hasQuantityKind quantitykind:Luminance ; qudt:symbol "ft-L" ; qudt:ucumCode "[ft-Lmb]"^^qudt:UCUMcs ; @@ -31070,10 +31070,6 @@ unit:LB_F qudt:definedUnitOfSystem sou:IMPERIAL ; qudt:definedUnitOfSystem sou:USCS ; qudt:hasDimensionVector qkdv:A0E0L1I0M1H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:SLUG ; - ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; qudt:hasUnit unit:FT ; @@ -31082,6 +31078,10 @@ unit:LB_F qudt:exponent -2 ; qudt:hasUnit unit:SEC ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:SLUG ; + ] ; qudt:hasQuantityKind quantitykind:Force ; qudt:iec61360Code "0112/2///62720#UAA696" ; qudt:informativeReference "http://en.wikipedia.org/wiki/Pound-force?oldid=453191483"^^xsd:anyURI ; @@ -31417,11 +31417,11 @@ unit:LM qudt:hasDimensionVector qkdv:A0E0L0I1M0H0T0D0 ; qudt:hasFactorUnit [ qudt:exponent 1 ; - qudt:hasUnit unit:CD ; + qudt:hasUnit unit:SR ; ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; - qudt:hasUnit unit:SR ; + qudt:hasUnit unit:CD ; ] ; qudt:hasQuantityKind quantitykind:LuminousFlux ; qudt:iec61360Code "0112/2///62720#UAA718" ; @@ -46114,14 +46114,14 @@ unit:N qudt:derivedCoherentUnitOfSystem sou:SI ; qudt:exactMatch unit:KiloGM-M-PER-SEC2 ; qudt:hasDimensionVector qkdv:A0E0L1I0M1H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:M ; - ] ; qudt:hasFactorUnit [ qudt:exponent -2 ; qudt:hasUnit unit:SEC ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:M ; + ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; qudt:hasUnit unit:KiloGM ; @@ -58386,14 +58386,14 @@ unit:R qudt:dbpediaMatch "http://dbpedia.org/resource/Roentgen"^^xsd:anyURI ; qudt:factorUnitScalar 0.000258 ; qudt:hasDimensionVector qkdv:A0E1L0I0M-1H0T1D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:C ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:KiloGM ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:C ; + ] ; qudt:hasQuantityKind quantitykind:ElectricChargePerMass ; qudt:iec61360Code "0112/2///62720#UAA275" ; qudt:informativeReference "http://en.wikipedia.org/wiki/Roentgen?oldid=491213233"^^xsd:anyURI ; @@ -58435,11 +58435,11 @@ unit:RAD qudt:guidance "

See NIST section SP811 section7.10

"^^rdf:HTML ; qudt:hasDimensionVector qkdv:A0E0L0I0M0H0T0D1 ; qudt:hasFactorUnit [ - qudt:exponent -1 ; + qudt:exponent 1 ; qudt:hasUnit unit:M ; ] ; qudt:hasFactorUnit [ - qudt:exponent 1 ; + qudt:exponent -1 ; qudt:hasUnit unit:M ; ] ; qudt:hasQuantityKind quantitykind:Angle ; @@ -59947,11 +59947,11 @@ unit:SR qudt:derivedCoherentUnitOfSystem sou:SI ; qudt:hasDimensionVector qkdv:A0E0L0I0M0H0T0D1 ; qudt:hasFactorUnit [ - qudt:exponent -2 ; + qudt:exponent 2 ; qudt:hasUnit unit:M ; ] ; qudt:hasFactorUnit [ - qudt:exponent 2 ; + qudt:exponent -2 ; qudt:hasUnit unit:M ; ] ; qudt:hasQuantityKind quantitykind:SolidAngle ; @@ -60001,14 +60001,14 @@ unit:ST qudt:derivedUnitOfSystem sou:CGS ; qudt:factorUnitScalar 0.0001 ; qudt:hasDimensionVector qkdv:A0E0L2I0M0H0T-1D0 ; - qudt:hasFactorUnit [ - qudt:exponent 2 ; - qudt:hasUnit unit:M ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:SEC ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 2 ; + qudt:hasUnit unit:M ; + ] ; qudt:hasQuantityKind quantitykind:KinematicViscosity ; qudt:iec61360Code "0112/2///62720#UAA281" ; qudt:informativeReference "http://en.wikipedia.org/wiki/Stokes?oldid=426159512"^^xsd:anyURI ; @@ -62734,14 +62734,14 @@ unit:V qudt:conversionMultiplierSN 1.0E0 ; qudt:dbpediaMatch "http://dbpedia.org/resource/Volt"^^xsd:anyURI ; qudt:hasDimensionVector qkdv:A0E-1L2I0M1H0T-3D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:W ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:A ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:W ; + ] ; qudt:hasQuantityKind quantitykind:ElectricPotential ; qudt:hasQuantityKind quantitykind:ElectricPotentialDifference ; qudt:hasQuantityKind quantitykind:EnergyPerElectricCharge ; @@ -63470,14 +63470,14 @@ unit:VAR qudt:conversionMultiplier 1.0 ; qudt:conversionMultiplierSN 1.0E0 ; qudt:hasDimensionVector qkdv:A0E0L2I0M1H0T-3D0 ; - qudt:hasFactorUnit [ - qudt:exponent -1 ; - qudt:hasUnit unit:SEC ; - ] ; qudt:hasFactorUnit [ qudt:exponent 1 ; qudt:hasUnit unit:J ; ] ; + qudt:hasFactorUnit [ + qudt:exponent -1 ; + qudt:hasUnit unit:SEC ; + ] ; qudt:hasQuantityKind quantitykind:ReactivePower ; qudt:iec61360Code "0112/2///62720#UAB023" ; qudt:plainTextDescription "unit for reactive power" ; @@ -63653,14 +63653,14 @@ unit:W qudt:definedUnitOfSystem sou:SI ; qudt:derivedCoherentUnitOfSystem sou:SI ; qudt:hasDimensionVector qkdv:A0E0L2I0M1H0T-3D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:J ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:SEC ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:J ; + ] ; qudt:hasQuantityKind quantitykind:ElectricPower ; qudt:hasQuantityKind quantitykind:Power ; qudt:iec61360Code "0112/2///62720#UAA306" ; @@ -64691,14 +64691,14 @@ unit:WB qudt:definedUnitOfSystem sou:SI ; qudt:derivedCoherentUnitOfSystem sou:SI ; qudt:hasDimensionVector qkdv:A0E-1L2I0M1H0T-2D0 ; - qudt:hasFactorUnit [ - qudt:exponent 1 ; - qudt:hasUnit unit:J ; - ] ; qudt:hasFactorUnit [ qudt:exponent -1 ; qudt:hasUnit unit:A ; ] ; + qudt:hasFactorUnit [ + qudt:exponent 1 ; + qudt:hasUnit unit:J ; + ] ; qudt:hasQuantityKind quantitykind:MagneticFlux ; qudt:hasReciprocalUnit unit:A-PER-J ; qudt:iec61360Code "0112/2///62720#UAA317" ; From 115624528da99c11f56ce5aa1758b80dfcb962b2 Mon Sep 17 00:00:00 2001 From: Maja Milicic Brandt Date: Mon, 10 Nov 2025 17:01:21 +0100 Subject: [PATCH 5/8] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d282035e7..e1b9a5a74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,8 @@ and this project is in the process of adopting [Semantic Versioning](https://sem ### Fixed +- Fixed the declaration of some properties (most importantly changing from `owl:DatatypeProperty` to `owl:AnnotationProperty`) in `SCHEMA_QUDT.ttl`. + ## [3.1.7] - 2025-10-27 ### Added From d36cab92315d2ede3ff34c223d83b5528eb4e229 Mon Sep 17 00:00:00 2001 From: Maja Milicic Brandt Date: Wed, 12 Nov 2025 11:55:14 +0100 Subject: [PATCH 6/8] Update CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1b9a5a74..f1721598a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,7 +66,6 @@ and this project is in the process of adopting [Semantic Versioning](https://sem ### Added - `quantitykind:NumberOfElectricalPhases` for use with AC circuits -- Fixed the declaration of some properties (most importantly changing from `owl:DatatypeProperty` to `owl:AnnotationProperty`) in `SCHEMA_QUDT.ttl`. - Fixed typo in `qudt:ucumCode` of `unit:MegaN-PER-M2` - Tweaked some multi-line validation error messages for environments that only display the first line (e.g. TopBraid) - Fixed `qudt:ucumCode` of many units, such that they all follow the same pattern (see 'Changed' below), and such that From 66d1ba503f039a8af6d53b9adddf570a17c7590d Mon Sep 17 00:00:00 2001 From: Maja Milicic Brandt Date: Wed, 12 Nov 2025 11:57:59 +0100 Subject: [PATCH 7/8] Delete src/main/rdf/schema/catalog-v001.xml --- src/main/rdf/schema/catalog-v001.xml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 src/main/rdf/schema/catalog-v001.xml diff --git a/src/main/rdf/schema/catalog-v001.xml b/src/main/rdf/schema/catalog-v001.xml deleted file mode 100644 index 5cbe3cf26..000000000 --- a/src/main/rdf/schema/catalog-v001.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - From 4b8395f4d731c51d30202d95c4d0b57ad7693605 Mon Sep 17 00:00:00 2001 From: Maja Milicic Brandt Date: Thu, 13 Nov 2025 10:21:00 +0100 Subject: [PATCH 8/8] fix: CHANGELOG.md --- CHANGELOG.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1721598a..acdf4127d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,10 +66,6 @@ and this project is in the process of adopting [Semantic Versioning](https://sem ### Added - `quantitykind:NumberOfElectricalPhases` for use with AC circuits -- Fixed typo in `qudt:ucumCode` of `unit:MegaN-PER-M2` -- Tweaked some multi-line validation error messages for environments that only display the first line (e.g. TopBraid) -- Fixed `qudt:ucumCode` of many units, such that they all follow the same pattern (see 'Changed' below), and such that - no unit has more than one. ### Changed