Skip to content

Commit f0ac230

Browse files
authored
Add missing quantitykind constants (#103)
Adds Quantitykind constants for qks that live in the currency file
1 parent 8b177f4 commit f0ac230

File tree

6 files changed

+35
-3
lines changed

6 files changed

+35
-3
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- Add quantitykind constants for those quantitykinds that are defined in the currency file in QUDT.
13+
1014
## [6.8.0] - 2024-12-11
1115

1216
### Added

qudtlib-constants-gen/src/main/java/io/github/qudtlib/constgen/ConstantsGenerator.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public class ConstantsGenerator {
3030
// input data
3131
private static final String DATA_UNITS = "qudtlib/qudt-units.ttl";
3232
private static final String DATA_QUANTITYKINDS = "qudtlib/qudt-quantitykinds.ttl";
33+
private static final String DATA_CURRENCY = "qudtlib/qudt-currency.ttl";
3334
private static final String DATA_PREFIXES = "qudtlib/qudt-prefixes.ttl";
3435
private static final String DATA_SYSTEMS_OF_UNITS = "qudtlib/qudt-systems-of-units.ttl";
3536
private static final String DATA_PHYSICAL_CONSTANTS = "qudtlib/qudt-constants.ttl";
@@ -109,12 +110,15 @@ private void generatePhysicalConstantConstants(Configuration config)
109110
generateJavaFile(config, templateVars, "PhysicalConstant", "PhysicalConstants");
110111
}
111112

112-
private Map<String, Object> getConstantNamesByQuery(String queryFile, String dataFile) {
113+
private Map<String, Object> getConstantNamesByQuery(String queryFile, String... dataFiles) {
113114
String queryStr = RdfOps.loadQuery(queryFile);
114115
Repository repo = new SailRepository(new MemoryStore());
115116
Map<String, Object> templateVars = new HashMap<>();
116117
try (RepositoryConnection con = repo.getConnection()) {
117-
RdfOps.addStatementsFromFile(con, dataFile);
118+
for (int i = 0; i < dataFiles.length; i++) {
119+
String dataFile = dataFiles[i];
120+
RdfOps.addStatementsFromFile(con, dataFile);
121+
}
118122
TupleQuery query;
119123
try {
120124
query = con.prepareTupleQuery(queryStr);

qudtlib-data-gen/src/main/java/io/github/qudtlib/data/DataGenerator.java

+3
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class DataGenerator {
4848
private static final String IS_SCALING_OF_QUERY = "isScalingOf.rq";
4949
private static final String MISSING_UNITS_QUERY = "missing-units.rq";
5050
private static final String DELETE_KILOGM_SCALINGS_QUERY = "delete-kiloGM-scalings.rq";
51+
private static final String DELETE_UNITS_QUERY = "delete-units.rq";
5152

5253
private static final String DELETE_FROM_UNITS_BY_QUERY_PATTERN =
5354
"delete-from-units-by-query[N].rq";
@@ -136,6 +137,8 @@ private void processQuantityKinds() {
136137
Repository outputRepo = new SailRepository(new MemoryStore());
137138
try (RepositoryConnection outputCon = outputRepo.getConnection()) {
138139
RdfOps.addStatementsFromFile(outputCon, QUANTITYKINDS_FILE);
140+
RdfOps.addStatementsFromFile(outputCon, CURRENCIES_FILE);
141+
RdfOps.updateDataUsingQuery(outputCon, DELETE_UNITS_QUERY);
139142
// remove unwanted individual triples
140143
RdfOps.updateDataUsingNQueries(
141144
outputCon, DELETE_FROM_QUANTITYKINDS_BY_QUERY_PATTERN, 5);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
PREFIX qudt: <http://qudt.org/schema/qudt/>
2+
PREFIX unit: <http://qudt.org/vocab/unit/>
3+
PREFIX prefix: <http://qudt.org/vocab/prefix/>
4+
PREFIX kind: <http://qudt.org/vocab/quantitykind/>
5+
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
6+
7+
DELETE {
8+
?unit ?p ?o.
9+
}
10+
where
11+
{
12+
?unit a qudt:Unit;
13+
?p ?o .
14+
}
15+
16+
17+

qudtlib-js-gen/src/main/resources/template/units.ts.ftl

+4
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,10 @@ for (const unit of config.units.values()){
231231
for (const x of config.systemsOfUnits.values()) {
232232
Object.freeze(x);
233233
}
234+
config.indexUnitsByDimensionVector();
235+
for (const x of config.unitsByDimensionVector.values()) {
236+
Object.freeze(x);
237+
}
234238
Object.freeze(Units);
235239
Object.freeze(QuantityKinds);
236240
Object.freeze(Prefixes);

0 commit comments

Comments
 (0)