浏览代码

Merge remote-tracking branch 'msdl/main' into joeri

Joeri Exelmans 2 年之前
父节点
当前提交
c3a2b57c60

+ 45 - 0
examples/oml/Drivetrain/src/oml/ua.be/drivetrain/description/artifacts/artifacts.oml

@@ -5,6 +5,7 @@ description <http://ua.be/drivetrain/description/artifacts/artifacts#> as artifa
     uses <http://ua.be/sdo2l/vocabulary/base/script#> as script
     uses <http://ua.be/sdo2l/vocabulary/base/code#> as code
     uses <http://ua.be/sdo2l/vocabulary/base/tabular#> as tabular
+   	extends <http://iso.org/iso-80000-4.13#> as iso-80000-4.13
 
     // NOTE: Artifacts in this OML are what ArtifactVersions are in FTG+PM++
 
@@ -147,12 +148,16 @@ description <http://ua.be/drivetrain/description/artifacts/artifacts#> as artifa
         tabular:hasCell torque-profile-cell-00
         tabular:hasCell torque-profile-cell-10
         tabular:hasCell torque-profile-cell-20
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci torque-profile-column-1 : tabular:Column [
         tabular:hasColumnId 1
         tabular:hasCell torque-profile-cell-01
         tabular:hasCell torque-profile-cell-11
         tabular:hasCell torque-profile-cell-21
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
 
 	ci control-parameter-generator : script:MATLABScript [
@@ -438,51 +443,71 @@ description <http://ua.be/drivetrain/description/artifacts/artifacts#> as artifa
         tabular:hasColumnId 0
         tabular:hasCell drivetrain-sensor-data-cell-00
         tabular:hasCell drivetrain-sensor-data-cell-10
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-1 : tabular:Column [
         tabular:hasColumnId 1
         tabular:hasCell drivetrain-sensor-data-cell-01
         tabular:hasCell drivetrain-sensor-data-cell-11
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-2 : tabular:Column [
         tabular:hasColumnId 2
         tabular:hasCell drivetrain-sensor-data-cell-02
         tabular:hasCell drivetrain-sensor-data-cell-12
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-3 : tabular:Column [
         tabular:hasColumnId 3
         tabular:hasCell drivetrain-sensor-data-cell-03
         tabular:hasCell drivetrain-sensor-data-cell-13
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-4 : tabular:Column [
         tabular:hasColumnId 4
         tabular:hasCell drivetrain-sensor-data-cell-04
         tabular:hasCell drivetrain-sensor-data-cell-14
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-5 : tabular:Column [
         tabular:hasColumnId 5
         tabular:hasCell drivetrain-sensor-data-cell-05
         tabular:hasCell drivetrain-sensor-data-cell-15
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-6 : tabular:Column [
         tabular:hasColumnId 6
         tabular:hasCell drivetrain-sensor-data-cell-06
         tabular:hasCell drivetrain-sensor-data-cell-16
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-7 : tabular:Column [
         tabular:hasColumnId 7
         tabular:hasCell drivetrain-sensor-data-cell-07
         tabular:hasCell drivetrain-sensor-data-cell-17
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-8 : tabular:Column [
         tabular:hasColumnId 8
         tabular:hasCell drivetrain-sensor-data-cell-08
         tabular:hasCell drivetrain-sensor-data-cell-18
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci drivetrain-sensor-data-column-9 : tabular:Column [
         tabular:hasColumnId 9
         tabular:hasCell drivetrain-sensor-data-cell-09
         tabular:hasCell drivetrain-sensor-data-cell-19
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     
     // NOTE: Only 2 rows are modelled
@@ -719,51 +744,71 @@ description <http://ua.be/drivetrain/description/artifacts/artifacts#> as artifa
         tabular:hasColumnId 0
         tabular:hasCell coupling-sensor-data-cell-00
         tabular:hasCell coupling-sensor-data-cell-10
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-1 : tabular:Column [
         tabular:hasColumnId 1
         tabular:hasCell coupling-sensor-data-cell-01
         tabular:hasCell coupling-sensor-data-cell-11
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-2 : tabular:Column [
         tabular:hasColumnId 2
         tabular:hasCell coupling-sensor-data-cell-02
         tabular:hasCell coupling-sensor-data-cell-12
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-3 : tabular:Column [
         tabular:hasColumnId 3
         tabular:hasCell coupling-sensor-data-cell-03
         tabular:hasCell coupling-sensor-data-cell-13
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-4 : tabular:Column [
         tabular:hasColumnId 4
         tabular:hasCell coupling-sensor-data-cell-04
         tabular:hasCell coupling-sensor-data-cell-14
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-5 : tabular:Column [
         tabular:hasColumnId 5
         tabular:hasCell coupling-sensor-data-cell-05
         tabular:hasCell coupling-sensor-data-cell-15
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-6 : tabular:Column [
         tabular:hasColumnId 6
         tabular:hasCell coupling-sensor-data-cell-06
         tabular:hasCell coupling-sensor-data-cell-16
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-7 : tabular:Column [
         tabular:hasColumnId 7
         tabular:hasCell coupling-sensor-data-cell-07
         tabular:hasCell coupling-sensor-data-cell-17
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-8 : tabular:Column [
         tabular:hasColumnId 8
         tabular:hasCell coupling-sensor-data-cell-08
         tabular:hasCell coupling-sensor-data-cell-18
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
     ci coupling-sensor-data-column-9 : tabular:Column [
         tabular:hasColumnId 9
         tabular:hasCell coupling-sensor-data-cell-09
         tabular:hasCell coupling-sensor-data-cell-19
+        tabular:hasBasicType "Double"
+        tabular:hasUnit iso-80000-4.13:newton-metre
     ]
 
 }

+ 2 - 2
examples/oml/Drivetrain/src/oml/ua.be/drivetrain/description/ftg.oml

@@ -3,7 +3,7 @@ description <http://ua.be/drivetrain/description/ftg#> as ftg {
 	uses <http://ua.be/sdo2l/vocabulary/ftg#> as ftg
 
 
-	// Artifact types used in the FTG
+	// Formalisms used in the FTG
 	// OBS: they should be actually references to artifact types defined in a metamodel
 
 	ci text-document-def : ftg:Formalism [
@@ -38,7 +38,7 @@ description <http://ua.be/drivetrain/description/ftg#> as ftg {
 		base:hasName "Tabular Data"
 	]
 
-	// Activity types
+	// Transformations
 
 	ci setup-profile-def : ftg:Transformation [
 		base:hasName "Setup Profile"

+ 9 - 0
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/vocabulary/base/base.oml

@@ -39,6 +39,15 @@ vocabulary <http://ua.be/sdo2l/vocabulary/base/base#> as base {
 		domain IdentifiedThing
 		range xsd:string
 	]
+	
+	enumerated scalar BasicType [
+    	"Boolean","Double", "Integer","String", "Char"
+    ]  
+    
+    // OBS: The specialization did not work for enumerated scalars, the only way to work is duplicating the values like this. 
+    enumerated scalar NumericType :> BasicType [
+    	"Double", "Integer"
+    ]
 
 	// Relationships aggreagation and containment
 

+ 30 - 2
examples/oml/SystemDesignOntology2Layers/src/oml/ua.be/sdo2l/vocabulary/formalisms/tabular.oml

@@ -1,12 +1,40 @@
 vocabulary <http://ua.be/sdo2l/vocabulary/formalisms/tabular#> as tabular {
     extends <http://www.w3.org/2001/XMLSchema#> as xsd
     extends <http://ua.be/sdo2l/vocabulary/base/file#> as file
+    extends <http://ua.be/sdo2l/vocabulary/base#> as base
+    extends <http://www.w3.org/2000/01/rdf-schema#> as rdfs
+    extends <http://bipm.org/jcgm/vim4#> as vim4
 
-    aspect Collection
+
+    aspect Collection 
+    
     concept TabularData :> file:Data, file:File
     concept Cell        :> file:Data
     concept Row         :> Collection
-    concept Column      :> Collection
+    concept Column      :> Collection 
+    
+        
+    relation entity HasUnit [
+        from Collection
+        to vim4:MeasurementUnit
+        forward hasUnit
+        reverse isUnitOf
+        asymmetric
+        functional
+    ] 
+    
+    scalar property hasBasicType [
+    	domain Column
+    	range base:BasicType
+    	functional
+    ]
+    
+    
+    @rdfs:comment "Infers that when the type of the column is numeric it may have a unit"
+	rule NumericTypeInfersUnit [
+		hasBasicType(c, t) ^ base:BasicType(t) -> hasUnit(c, u)  
+	] 
+    
 
     scalar property holdsContent [
         domain Cell

+ 1 - 1
tools/oml-generators/src/main/resources/csv/rotation.csv

@@ -200302,4 +200302,4 @@ index,microsec,sens1,sens2,sens3,sens4,sens5,sens6,sens7,sens8,sens9,sens10,sens
 200300,125188234,-21,550,-467,-32,57,-469,580,73,-15,558,-467,-30,136,-471,520,94
 200301,125188859,-17,551,-482,-38,46,-477,585,72,-4,547,-481,-26,135,-462,513,99
 200302,125189484,-20,550,-490,-44,49,-469,581,74,-16,545,-487,-20,119,-468,492,123
-200303,125190109,-33,556,-488,-45,54,-450,568,74,-28,54
+200303,125190109,-33,556,-488,-45,54,-450,568,74,-28,54,-487,-20,119,-468,492,123