-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodel.jv
More file actions
103 lines (89 loc) · 2.27 KB
/
model.jv
File metadata and controls
103 lines (89 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
use {
DateYYYYMMDD
} from "./../../shared/valuetypes.jv";
transform TagToBoolCalculated {
from tag oftype text;
to bool oftype boolean;
bool: tag == "Calculated";
}
// Limiting values to the only possible and to expect according to the paper
constraint TagProperty on text: value in [
"CDE",
"Calculated"
];
valuetype Tag oftype text {
constraints: [
TagProperty
];
}
// According to the 1st page of the paper, only these material properties are allowed
constraint PropertyValue on text: value in [
"Conductivity",
"Energy",
"Coulombic Efficiency",
"Capacity",
"Voltage"
];
valuetype Property oftype text {
constraints: [
PropertyValue
];
}
pipeline BatteryMaterialsPipeline {
BatteryMaterialsExtractor
-> ZipArchiveInterpreter
-> BatteryMaterialsCSVPicker
-> BatteryMaterialsTextFileInterpreter
-> BatteryMaterialsCSVInterpreter
-> BatteryMaterialsTableInterpreter
-> TagColumnTransformCalculated
-> BatteryMaterialsLoader;
block BatteryMaterialsExtractor oftype HttpExtractor {
url: "https://s3-eu-west-1.amazonaws.com/pfigshare-u-files/22789760/BatteryData.zip";
}
block ZipArchiveInterpreter oftype ArchiveInterpreter {
archiveType: "zip";
}
block BatteryMaterialsCSVPicker oftype FilePicker {
path: "/battery_merged.csv";
}
block BatteryMaterialsTextFileInterpreter oftype TextFileInterpreter { }
block BatteryMaterialsCSVInterpreter oftype CSVInterpreter {
delimiter: ",";
enclosing: '"';
enclosingEscape: '"';
}
block BatteryMaterialsTableInterpreter oftype TableInterpreter {
header: true;
columns: [
"Property" oftype Property,
"Name" oftype text,
"Value" oftype decimal,
"Raw_unit" oftype text,
"Raw_value" oftype text,
"Unit" oftype SiUnit,
"Extracted_name" oftype text,
"DOI" oftype DOI,
"Specifier" oftype text,
"Tag" oftype Tag,
"Warning" oftype text,
"Type" oftype text,
"Info" oftype text,
"Title" oftype text,
"Journal" oftype text,
"Date" oftype DateYYYYMMDD,
"Correctness" oftype text
];
}
block TagColumnTransformCalculated oftype TableTransformer {
inputColumns: [
"Tag"
];
outputColumn: "Calculated_data";
uses: TagToBoolCalculated;
}
block BatteryMaterialsLoader oftype SQLiteLoader {
table: "BatteryMaterials";
file: "./BatteryMaterialsMerged.sqlite";
}
}