Skip to content

Commit 3171d44

Browse files
committed
Add support for samm-e:Quantity
1 parent c1a1a8f commit 3171d44

File tree

4 files changed

+62
-9
lines changed
  • core
    • esmf-aspect-meta-model-interface/src/main/java/org/eclipse/esmf/metamodel/vocabulary
    • esmf-aspect-meta-model-java/src/main/java/org/eclipse/esmf/aspectmodel/resolver/modelfile
    • esmf-test-aspect-models/src/main

4 files changed

+62
-9
lines changed

core/esmf-aspect-meta-model-interface/src/main/java/org/eclipse/esmf/metamodel/vocabulary/SAMME.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import java.util.stream.Stream;
1717

18+
import org.eclipse.esmf.metamodel.QuantityKind;
1819
import org.eclipse.esmf.samm.KnownVersion;
1920

2021
import org.apache.jena.rdf.model.Property;
@@ -57,6 +58,11 @@ public Resource FileResource() {
5758
return resource( "FileResource" );
5859
}
5960

61+
@SuppressWarnings( "checkstyle:MethodName" )
62+
public Resource Quantity() {
63+
return resource( "Quantity" );
64+
}
65+
6066
public Property resource() {
6167
return property( "resource" );
6268
}
@@ -88,7 +94,12 @@ public Property z() {
8894
return property( "z" );
8995
}
9096

97+
@SuppressWarnings( "checkstyle:MethodName" )
98+
public Property unit() {
99+
return property( "unit" );
100+
}
101+
91102
public Stream<Resource> allEntities() {
92-
return Stream.of( TimeSeriesEntity(), Point3d() );
103+
return Stream.of( TimeSeriesEntity(), Point3d(), FileResource(), Quantity() );
93104
}
94105
}

core/esmf-aspect-meta-model-java/src/main/java/org/eclipse/esmf/aspectmodel/resolver/modelfile/MetaModelFile.java

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public enum MetaModelFile implements AspectModelFile {
5151
FILE_RESOURCE( "entity", "FileResource.ttl", SammNs.SAMME, MetaModelFileType.ELEMENT_DEFINITION ),
5252
POINT_3D( "entity", "Point3d.ttl", SammNs.SAMME, MetaModelFileType.ELEMENT_DEFINITION ),
5353
TIME_SERIES_ENTITY( "entity", "TimeSeriesEntity.ttl", SammNs.SAMME, MetaModelFileType.ELEMENT_DEFINITION ),
54+
QUANTITY( "entity", "Quantity.ttl", SammNs.SAMME, MetaModelFileType.ELEMENT_DEFINITION ),
5455
CHARACTERISTIC_INSTANCES( "characteristic", "characteristic-instances.ttl", SammNs.SAMMC,
5556
MetaModelFileType.ELEMENT_DEFINITION ),
5657

core/esmf-test-aspect-models/src/main/java/org/eclipse/esmf/test/TestAspect.java

+6-8
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ public enum TestAspect implements TestModel {
4747
ASPECT_WITH_COMPLEX_ENTITY_COLLECTION_ENUM,
4848
ASPECT_WITH_COMPLEX_ENUM,
4949
ASPECT_WITH_COMPLEX_ENUM_INCL_OPTIONAL,
50+
ASPECT_WITH_COMPLEX_SET,
5051
ASPECT_WITH_CONSTRAINED_COLLECTION,
52+
ASPECT_WITH_CONSTRAINED_SET,
5153
ASPECT_WITH_CONSTRAINT,
5254
ASPECT_WITH_CONSTRAINTS,
5355
ASPECT_WITH_CONSTRAINT_WITHOUT_SEE_ATTRIBUTE,
@@ -116,6 +118,7 @@ public enum TestAspect implements TestModel {
116118
ASPECT_WITH_LIST_WITH_LENGTH_CONSTRAINT,
117119
ASPECT_WITH_MEASUREMENT,
118120
ASPECT_WITH_MEASUREMENT_WITH_UNIT,
121+
ASPECT_WITH_MULTILANGUAGE_EXAMPLE_VALUE,
119122
ASPECT_WITH_MULTIPLE_COLLECTIONS_OF_SIMPLE_TYPE,
120123
ASPECT_WITH_MULTIPLE_ENTITIES,
121124
ASPECT_WITH_MULTIPLE_ENTITIES_AND_EITHER,
@@ -152,6 +155,7 @@ public enum TestAspect implements TestModel {
152155
ASPECT_WITH_QUANTIFIABLE_AND_UNIT,
153156
ASPECT_WITH_QUANTIFIABLE_WITHOUT_UNIT,
154157
ASPECT_WITH_QUANTIFIABLE_WITH_UNIT,
158+
ASPECT_WITH_QUANTITY,
155159
ASPECT_WITH_RANGE_CONSTRAINT,
156160
ASPECT_WITH_RANGE_CONSTRAINT_INCL_BOUND_DEFINITION_PROPERTIES,
157161
ASPECT_WITH_RANGE_CONSTRAINT_ON_CONSTRAINED_NUMERIC_TYPE,
@@ -193,14 +197,8 @@ public enum TestAspect implements TestModel {
193197
ENTITY_INSTANCE_TEST2,
194198
ENTITY_INSTANCE_TEST3,
195199
ENTITY_INSTANCE_TEST4,
196-
197-
MODEL_WITH_BROKEN_CYCLES,
198-
199-
ASPECT_WITH_CONSTRAINED_SET,
200-
ASPECT_WITH_MULTILANGUAGE_EXAMPLE_VALUE,
201-
ASPECT_WITH_COMPLEX_SET,
202-
203-
MODEL_WITH_BLANK_AND_ADDITIONAL_NODES;
200+
MODEL_WITH_BLANK_AND_ADDITIONAL_NODES,
201+
MODEL_WITH_BROKEN_CYCLES;
204202

205203
@Override
206204
public String getName() {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Copyright (c) 2025 Robert Bosch Manufacturing Solutions GmbH
2+
#
3+
# See the AUTHORS file(s) distributed with this work for additional
4+
# information regarding authorship.
5+
#
6+
# This Source Code Form is subject to the terms of the Mozilla Public
7+
# License, v. 2.0. If a copy of the MPL was not distributed with this
8+
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
9+
#
10+
# SPDX-License-Identifier: MPL-2.0
11+
12+
@prefix : <urn:samm:org.eclipse.esmf.test:1.0.0#> .
13+
@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.2.0#> .
14+
@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.2.0#> .
15+
@prefix samm-e: <urn:samm:org.eclipse.esmf.samm:entity:2.2.0#> .
16+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
17+
@prefix unit: <urn:samm:org.eclipse.esmf.samm:unit:2.2.0#> .
18+
19+
:AspectWithQuantity a samm:Aspect ;
20+
samm:preferredName "Test Aspect"@en ;
21+
samm:description "This is a test description"@en ;
22+
samm:see <http://example.com/> ;
23+
samm:properties ( :testProperty ) ;
24+
samm:operations ( ) .
25+
26+
:testProperty a samm:Property ;
27+
samm:preferredName "Test Property"@en ;
28+
samm:description "This is a test property."@en ;
29+
samm:see <http://example.com/> ;
30+
samm:see <http://example.com/me> ;
31+
samm:characteristic [
32+
a samm-c:SingleEntity ;
33+
samm:dataType :TestQuantity ;
34+
] .
35+
36+
:TestQuantity a samm:Entity ;
37+
samm:extends samm-e:Quantity ;
38+
samm:properties (
39+
[ samm:extends samm-e:value ; samm:characteristic :QuantityValueCharacteristic ]
40+
) .
41+
42+
:QuantityValueCharacteristic a samm:Characteristic ;
43+
samm:dataType xsd:integer .

0 commit comments

Comments
 (0)