activefacts 0.8.18 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +8 -8
  2. data/Rakefile +0 -8
  3. data/examples/CQL/CompanyDirectorEmployee.cql +12 -8
  4. data/examples/CQL/Metamodel.cql +40 -24
  5. data/examples/CQL/OilSupply.cql +10 -8
  6. data/examples/CQL/unit.cql +52 -51
  7. data/lib/activefacts/cql/LexicalRules.treetop +1 -1
  8. data/lib/activefacts/cql/compiler.rb +1 -1
  9. data/lib/activefacts/cql/compiler/clause.rb +16 -24
  10. data/lib/activefacts/cql/compiler/constraint.rb +4 -4
  11. data/lib/activefacts/cql/compiler/entity_type.rb +16 -16
  12. data/lib/activefacts/cql/compiler/expression.rb +3 -3
  13. data/lib/activefacts/cql/compiler/fact.rb +1 -1
  14. data/lib/activefacts/cql/compiler/fact_type.rb +14 -4
  15. data/lib/activefacts/cql/compiler/shared.rb +1 -1
  16. data/lib/activefacts/cql/compiler/value_type.rb +2 -2
  17. data/lib/activefacts/generate/cql.rb +10 -34
  18. data/lib/activefacts/generate/helpers/oo.rb +10 -6
  19. data/lib/activefacts/generate/helpers/ordered.rb +32 -6
  20. data/lib/activefacts/generate/json.rb +2 -2
  21. data/lib/activefacts/generate/ruby.rb +7 -15
  22. data/lib/activefacts/generate/transform/surrogate.rb +7 -7
  23. data/lib/activefacts/input/orm.rb +23 -26
  24. data/lib/activefacts/persistence/index.rb +1 -1
  25. data/lib/activefacts/persistence/reference.rb +5 -2
  26. data/lib/activefacts/version.rb +3 -3
  27. data/lib/activefacts/vocabulary/extensions.rb +59 -19
  28. data/lib/activefacts/vocabulary/metamodel.rb +30 -14
  29. data/spec/cql/parser/bad_literals_spec.rb +1 -1
  30. data/spec/cql/parser/expressions_spec.rb +1 -1
  31. data/spec/cql_dm_spec.rb +15 -0
  32. data/spec/cql_mysql_spec.rb +1 -1
  33. data/spec/cqldump_spec.rb +12 -12
  34. data/spec/norma_cql_spec.rb +0 -1
  35. data/spec/norma_ruby_sql_spec.rb +3 -2
  36. data/spec/norma_tables_spec.rb +1 -1
  37. metadata +78 -127
  38. data/examples/CQL/JoinEquality.cql +0 -35
  39. data/examples/CQL/MonthInSeason.cql +0 -23
  40. data/examples/CQL/Moon.cql +0 -23
  41. data/examples/CQL/SubtypePI.cql +0 -31
  42. data/examples/CQL/Tests.Test5.Load.cql +0 -38
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MmQ1ZmI4YjNlNGZhMjJhZDQwODcwNDNkMWM1ZTQ5YWE2NjNkZTRiNA==
4
+ YTM2ZWY5NmY5NDYzYmRiN2I3YmE1ODMxZDVlOWNjNmNhNWZjOTY5Nw==
5
5
  data.tar.gz: !binary |-
6
- YzkzY2M3MDkzMDc5MGNmMTkyNGNmY2U2ZWUyNjQ2MjljODI5YmFkYw==
6
+ MmY5MjQ3NTUwMjBhOTg5YWVkNDAzMGJlZThiODY3OWRiYWNmM2JmYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZDgxMzZkODViOWE2MDU1MTdiODMwZDhjMzVjN2E2NmUwNjRlOTczZTJlMTU4
10
- M2YxM2M5ZWUzZWQ1NWEwYjc5ZTIxNjg2MjQ0MjJmMzYwZjE1MmMwZGIyODFh
11
- MTVlODhiNWY0ZTNiNWQ3ZmUzZDFhMTUzYzhmMGE0YTM1Y2YyNTg=
9
+ MDc1NTczMTI4NmQyNGU5MTIwMzI1ZmVlNzA4MTE3OGM1NjVlYzMyZjA0NGMx
10
+ YWU1OThkOTU1YWE5YTYyZjAyODkxMDhiMzYzMzQyMWRhYTViMDJhNDc1ODA0
11
+ NmUwMjdhMmE3YTFkMzU5ZjgxYjIwMWJlYWJmZmE5ZmY2NmFlY2E=
12
12
  data.tar.gz: !binary |-
13
- YWU2OTdlNTcxYTRjYjNjMzAxNjYzNTk0NDM1YmY3YzQ1NWI4YTczZDc2Nzlk
14
- NTgxMmEwZWUyNzc2ZmU4MTAwYjNmMzBkNGM3M2I2OTM0M2MyZDM1NTcxZjNi
15
- OGQzODQwMWQxNTFhNTRkYWU5M2QzODMyNDUwZTE1MjhjNTdiNWQ=
13
+ ZTE1MmU1OWE3Y2RiYTBiNDk5NTM0NTllZGFiZDFmM2Q2YjQxYzNkODIzMWE3
14
+ MmI3NGU3YmQ0ZTE1Yjc5ZWVmNzIyYTUzM2YxYWQxOWViMzRiMzY4OWJlOTVj
15
+ NjAxNTA1MzVhZDg1ODRiMmViNjJhYmY4OTZlZGVmZGIzMWUxODE=
data/Rakefile CHANGED
@@ -31,14 +31,6 @@ and object models in SQL, Ruby and other languages.
31
31
 
32
32
  gem.email = "cjh@dataconstellation.com"
33
33
  gem.authors = ["Clifford Heath"]
34
- gem.add_dependency "activefacts-api", "~>0.9.1"
35
- gem.add_dependency "treetop"
36
- gem.add_dependency "nokogiri"
37
- gem.add_development_dependency "rspec", "~> 2.3.0"
38
- gem.add_development_dependency "bundler", "~> 1.0.0"
39
- gem.add_development_dependency "jeweler", "~> 1.5.2"
40
- # gem.add_development_dependency "rcov", ">= 0"
41
- gem.add_development_dependency "rdoc", ">= 2.4.2"
42
34
 
43
35
  # gem.changes = paragraphs_of("History.txt", 0..1).join("\n\n")
44
36
  gem.extensions = ['lib/activefacts/cql/Rakefile']
@@ -15,6 +15,15 @@ Company is identified by its Name where
15
15
  Company is called Company Name;
16
16
  Company is listed;
17
17
 
18
+ Employee is identified by its Nr;
19
+ Employee works at one Company,
20
+ Company employs Employee;
21
+
22
+ Manager is a kind of Employee;
23
+ Employee is supervised by at most one Manager [acyclic],
24
+ Manager supervises Employee;
25
+ Manager is ceo;
26
+
18
27
  Meeting is independent identified by Company and Date and Meeting is board meeting where
19
28
  Meeting is held by one Company,
20
29
  Company held Meeting,
@@ -37,14 +46,9 @@ Directorship is where
37
46
  Company is directed by at least one Director;
38
47
  Directorship began on one appointment-Date;
39
48
 
40
- Employee is a kind of Person identified by its Nr;
41
- Employee works at one Company,
42
- Company employs Employee;
43
-
44
- Manager is a kind of Employee;
45
- Employee is supervised by at most one Manager [acyclic],
46
- Manager supervises Employee;
47
- Manager is ceo;
49
+ Employment is where
50
+ Person works as Employee,
51
+ Employee role is assigned to at least one Person;
48
52
 
49
53
  /*
50
54
  * Constraints:
@@ -31,7 +31,7 @@ Rotation Setting is written as String restricted to {'left', 'right'};
31
31
  Scale is written as Unsigned Integer(32);
32
32
  Subscript is written as Unsigned Integer(16);
33
33
  Text is written as String(256);
34
- Transaction Timing is written as String restricted to {'assert', 'commit'};
34
+ Transaction Phase is written as String restricted to {'assert', 'commit'};
35
35
  X is written as Signed Integer(32);
36
36
  Y is written as Signed Integer(32);
37
37
 
@@ -56,16 +56,18 @@ Concept is identified by Guid where
56
56
  Concept has one Guid,
57
57
  Guid is of at most one Concept;
58
58
 
59
- Constraint is a kind of Concept [partitioned];
59
+ Constraint is identified by Concept where
60
+ Constraint is an instance of one Concept;
60
61
  Name is of Constraint,
61
62
  Constraint is called at most one Name;
62
63
 
63
- Context Note is a kind of Concept [partitioned];
64
+ Context Note is identified by Concept where
65
+ Context Note is an instance of one Concept;
64
66
  Context Note has one Context Note Kind,
65
67
  Context Note Kind is of Context Note;
66
68
  Context Note has one Discussion,
67
69
  Discussion is for Context Note;
68
- Context Note applies to at most one relevant-Concept [acyclic, stronglyintransitive],
70
+ Context Note applies to at most one relevant-Concept,
69
71
  Concept has Context Note;
70
72
 
71
73
  Enforcement is identified by Constraint where
@@ -75,15 +77,18 @@ Enforcement notifies at most one Agent;
75
77
  Enforcement has one Enforcement Code,
76
78
  Enforcement Code is of Enforcement;
77
79
 
78
- Fact is a kind of Concept [partitioned];
80
+ Fact is identified by Concept where
81
+ Fact is an instance of one Concept;
79
82
 
80
- Fact Type is a kind of Concept [partitioned];
83
+ Fact Type is independent identified by Concept where
84
+ Fact Type is an instance of one Concept;
81
85
  Fact is of one Fact Type;
82
86
 
83
87
  Implication Rule is identified by its Name;
84
88
  Concept is implied by at most one Implication Rule;
85
89
 
86
- Instance is a kind of Concept [partitioned];
90
+ Instance is identified by Concept where
91
+ Instance is an instance of one Concept;
87
92
  Instance objectifies at most one Fact,
88
93
  Fact is objectified as at most one Instance;
89
94
 
@@ -99,7 +104,8 @@ Presence Constraint has at most one min-Frequency restricted to {2..};
99
104
  Presence Constraint is mandatory;
100
105
  Presence Constraint is preferred identifier;
101
106
 
102
- Query is a kind of Concept [partitioned];
107
+ Query is identified by Concept where
108
+ Query is an instance of one Concept;
103
109
 
104
110
  Reading is identified by Fact Type and Ordinal where
105
111
  Fact Type has Reading,
@@ -112,13 +118,14 @@ Reading is negative;
112
118
  Ring Constraint is a kind of Constraint;
113
119
  Ring Constraint is of one Ring Type;
114
120
 
115
- Role is a kind of Concept identified by Fact Type and Ordinal [partitioned] where
121
+ Role is identified by Fact Type and Ordinal where
116
122
  Role belongs to one Fact Type,
117
123
  Fact Type contains Role,
118
124
  Role fills one Ordinal,
119
125
  Ordinal applies to Role;
120
126
  Ring Constraint has at most one other-Role,
121
127
  other-Role is of Ring Constraint;
128
+ Role is an instance of one Concept;
122
129
  Role is of Ring Constraint; // Avoid ambiguity; this is a new fact type
123
130
  Role is of Ring Constraint,
124
131
  Ring Constraint has at most one Role;
@@ -158,7 +165,8 @@ Subset Constraint is a kind of Set Constraint;
158
165
  Subset Constraint covers one subset-Role Sequence;
159
166
  Subset Constraint covers one superset-Role Sequence;
160
167
 
161
- Unit is a kind of Concept [partitioned];
168
+ Unit is identified by Concept where
169
+ Unit is an instance of one Concept;
162
170
  Ephemera URL provides Unit coefficient,
163
171
  Unit uses coefficient from at most one Ephemera URL;
164
172
  Name is of at most one Unit,
@@ -252,10 +260,11 @@ ORM Diagram is a kind of Diagram;
252
260
  Shape is in one ORM Diagram,
253
261
  ORM Diagram includes Shape;
254
262
 
255
- Object Type is a kind of Concept identified by Vocabulary and Name [partitioned] where
263
+ Object Type is identified by Vocabulary and Name where
256
264
  Object Type belongs to one Vocabulary,
257
265
  Object Type is called one Name;
258
266
  Instance is of one Object Type;
267
+ Object Type is an instance of one Concept;
259
268
  Object Type uses at most one Pronoun;
260
269
  Object Type plays Role,
261
270
  Role is played by one Object Type;
@@ -276,11 +285,12 @@ Play is where
276
285
  Variable is restricted by Role,
277
286
  Role controls Variable;
278
287
 
279
- Population is a kind of Concept identified by Vocabulary and Name [partitioned] where
288
+ Population is identified by Vocabulary and Name where
280
289
  Vocabulary includes Population,
281
290
  Population belongs to at most one Vocabulary,
282
291
  Population has one Name,
283
292
  Name is of Population;
293
+ Population is an instance of one Concept;
284
294
  Population includes Fact,
285
295
  Fact belongs to one Population;
286
296
  Population includes Instance,
@@ -295,7 +305,7 @@ Reading Shape is for one Reading,
295
305
  Reading has Reading Shape;
296
306
 
297
307
  Ring Constraint Shape is a kind of Constraint Shape;
298
- Ring Constraint Shape is attached to one Fact Type;
308
+ Ring Constraint Shape is attached to one Fact Type Shape;
299
309
 
300
310
  Role Display is where
301
311
  Fact Type Shape displays Role in Ordinal position,
@@ -372,7 +382,7 @@ Value Type has at most one Length,
372
382
  Length is of Value Type;
373
383
  Value Type has at most one Scale,
374
384
  Scale is of Value Type;
375
- Value Type is auto-assigned at at most one Transaction Timing;
385
+ Value Type is auto-assigned at at most one Transaction Phase;
376
386
  Value Type is of at most one Unit;
377
387
  Value Type has at most one Value Constraint,
378
388
  Value Constraint constrains at most one Value Type;
@@ -395,16 +405,16 @@ Implicit Boolean Value Type is a kind of Value Type;
395
405
  * Constraints:
396
406
  */
397
407
  for each Concept exactly one of these holds:
398
- Concept is an Instance,
399
- Concept is a Fact,
400
- Concept is an Object Type,
401
- Concept is a Role,
402
- Concept is a Fact Type,
403
- Concept is a Constraint,
404
- Concept is a Population,
405
- Concept is an Unit,
406
- Concept is a Query,
407
- Concept is a Context Note;
408
+ Object Type is an instance of Concept,
409
+ Fact Type is an instance of Concept,
410
+ Role is an instance of Concept,
411
+ Constraint is an instance of Concept,
412
+ Context Note is an instance of Concept,
413
+ Unit is an instance of Concept,
414
+ Instance is an instance of Concept,
415
+ Fact is an instance of Concept,
416
+ Population is an instance of Concept,
417
+ Query is an instance of Concept;
408
418
  for each Constraint exactly one of these holds:
409
419
  Constraint is a Presence Constraint,
410
420
  Constraint is a Set Constraint,
@@ -448,6 +458,12 @@ Step involves incidental Play
448
458
  Value Type has Scale
449
459
  only if Value Type has Length;
450
460
  either Agreement was reached by Agent or Agreement was on Date;
461
+ each Concept occurs at most one time in
462
+ Object Type is an instance of Concept;
463
+ each Concept occurs at most one time in
464
+ Population is an instance of Concept;
465
+ each Concept occurs at most one time in
466
+ Role is an instance of Concept;
451
467
  each combination Entity Type(1), Type Inheritance occurs at most one time in
452
468
  Entity Type(1) is subtype of super Entity Type(2),
453
469
  Type Inheritance provides identification;
@@ -19,11 +19,11 @@ Year Nr is written as Signed Integer(32);
19
19
  Month is identified by its Nr restricted to {1..12};
20
20
  Month is in one Season;
21
21
 
22
- Product is identified by its Name;
22
+ Product is independent identified by its Name;
23
23
 
24
- Refinery is identified by its Name;
24
+ Refinery is independent identified by its Name;
25
25
 
26
- Region is identified by its Name;
26
+ Region is independent identified by its Name;
27
27
 
28
28
  Transport Route is where
29
29
  Transport Method transportation is available from Refinery to Region,
@@ -32,7 +32,7 @@ Transport Route incurs at most one Cost per kl;
32
32
 
33
33
  Year is identified by its Nr;
34
34
 
35
- Acceptable Substitutes is where
35
+ Acceptable Substitution is where
36
36
  Product may be substituted by alternate-Product in Season [acyclic, intransitive],
37
37
  alternate-Product is an acceptable substitute for Product in Season;
38
38
 
@@ -41,11 +41,13 @@ Supply Period is identified by Year and Month where
41
41
  Supply Period is in one Month;
42
42
 
43
43
  Production Forecast is where
44
- Refinery forecasts production of Product in Supply Period;
44
+ Refinery in Supply Period will make Product in one Quantity,
45
+ Refinery will make Product in Supply Period in Quantity,
46
+ Refinery will make Quantity of Product in Supply Period;
45
47
  Production Forecast predicts at most one Cost;
46
- Production Forecast is for one Quantity;
47
48
 
48
49
  Regional Demand is where
49
- Region will need Product in Supply Period;
50
- Regional Demand is for at most one Quantity;
50
+ Region in Supply Period will need Product in one Quantity,
51
+ Region will need Product in Supply Period in Quantity,
52
+ Region will need Quantity of Product in Supply Period;
51
53
 
@@ -124,16 +124,16 @@ vocabulary Units;
124
124
  1 atto converts to a;
125
125
  1 coul sec^-1 converts to ampere;
126
126
  0.0000000001 meter converts to angstrom;
127
- 1 cd pi^-1 m^-2 converts to apostilb;
127
+ 1 cd m^-2 pi^-1 converts to apostilb;
128
128
  100.0 m^2 converts to are;
129
129
  0.00000000000000000000000000166044 kg converts to atomicmassunit approximately;
130
130
  149597871000.0 m converts to au approximately;
131
131
  94.0 lb converts to bag;
132
132
  0.0000000000000000000000000001 m^2 converts to barn;
133
133
  1 bit sec^-1 converts to baud;
134
- 0.000000000066739 m^3 kg^-1 sec^-2 converts to bigG;
134
+ 0.000000000066739 kg^-1 m^3 sec^-2 converts to bigG;
135
135
  512.0 byte converts to block;
136
- 1 cd pi^-1 m^-2 converts to blondel;
136
+ 1 cd m^-2 pi^-1 converts to blondel;
137
137
  1 centi converts to c;
138
138
  0.01 m^3 converts to cc;
139
139
  1.0/36 erlang converts to ccs;
@@ -150,7 +150,7 @@ vocabulary Units;
150
150
  1.0/16 oz converts to dram;
151
151
  0.0003 m^3 converts to drop;
152
152
  0.00000000000000000000000000000091095 kg converts to electronmass;
153
- 100.0 cd pi^-1 m^-2 converts to equivalentphot;
153
+ 100.0 cd m^-2 pi^-1 converts to equivalentphot;
154
154
  1 femto converts to f;
155
155
  0.000000000000001 m converts to fermi;
156
156
  9.80665 m sec^-2 converts to g;
@@ -173,8 +173,8 @@ vocabulary Units;
173
173
  1 kilo converts to k;
174
174
  1 kg converts to key;
175
175
  1000.0 sec^-1 converts to khz;
176
- 100.0 cd pi^-1 m^-2 converts to lambert;
177
- 1 lb g converts to lbf;
176
+ 100.0 cd m^-2 pi^-1 converts to lambert;
177
+ 1 g lb converts to lbf;
178
178
  299792458.0 m sec^-1 converts to lightspeed approximately;
179
179
  1000.0 cc converts to liter;
180
180
  1 liter converts to litre;
@@ -183,7 +183,7 @@ vocabulary Units;
183
183
  1 megabyte converts to meg;
184
184
  133322.0 kg m^-2 sec^-2 converts to mercury;
185
185
  0.2 g converts to metriccarat;
186
- 1 meter gram^-1 converts to metricyarncount;
186
+ 1 gram^-1 meter converts to metricyarncount;
187
187
  1000000.0 sec^-1 converts to mhz;
188
188
  60.0 sec converts to minute;
189
189
  0.001 liter converts to ml;
@@ -192,9 +192,9 @@ vocabulary Units;
192
192
  1 kg m sec^-2 converts to newton;
193
193
  1 newton converts to nt;
194
194
  1 pico converts to p;
195
- 1 nt m^-2 converts to pascal;
196
- 1000.0 nt m^-2 converts to pieze;
197
- 100.0 kg m g sec converts to poncelet;
195
+ 1 m^-2 nt converts to pascal;
196
+ 1000.0 m^-2 nt converts to pieze;
197
+ 100.0 g kg m sec converts to poncelet;
198
198
  2.0 pi sec^-1 converts to pulsatance;
199
199
  10.0 m^2 nt^-1 sec^-1 converts to rhe;
200
200
  0.000258 curie kg^-1 converts to rontgen;
@@ -209,7 +209,7 @@ vocabulary Units;
209
209
  1000.0 nt converts to sthene;
210
210
  0.001 gram m converts to tex;
211
211
  1 circle converts to turn;
212
- 1 gram g cc converts to water;
212
+ 1 cc g gram converts to water;
213
213
  1 yocto converts to y;
214
214
  1 zopto converts to z;
215
215
  1 hertz converts to Hz;
@@ -223,10 +223,10 @@ vocabulary Units;
223
223
  1.0/60 arcdeg converts to arcmin;
224
224
  1.0/60 arcmin converts to arcsec;
225
225
  1 au converts to astronomicalunit;
226
- 101325.0 nt m^-2 converts to atmosphere;
227
- 100000.0 nt m^-2 converts to bar;
228
- 0.1 nt m^-2 converts to barie;
229
- 0.1 nt m^-2 converts to barye;
226
+ 101325.0 m^-2 nt converts to atmosphere;
227
+ 100000.0 m^-2 nt converts to bar;
228
+ 0.1 m^-2 nt converts to barie;
229
+ 0.1 m^-2 nt converts to barye;
230
230
  0.000000000027027027027027 curie converts to becquerel;
231
231
  10.0 amp converts to biot;
232
232
  0.000000000001 m^2 newton^-1 converts to brewster;
@@ -246,39 +246,39 @@ vocabulary Units;
246
246
  1 gram converts to gm;
247
247
  1 grain converts to gr;
248
248
  1 mercury converts to hg;
249
- 1 gm force sec^2 m^-1 converts to hyl;
249
+ 1 force gm m^-1 sec^2 converts to hyl;
250
250
  1 inch converts to in;
251
- 1 nt m converts to joule;
251
+ 1 m nt converts to joule;
252
252
  1000.0 lbf converts to kip;
253
253
  1.0/12 in converts to line;
254
254
  1 cd sr converts to lumen;
255
- 0.000000001 m hg s^-1 converts to lusec;
256
- 1 cd sr m^-2 converts to lux;
255
+ 0.000000001 hg m s^-1 converts to lusec;
256
+ 1 cd m^-2 sr converts to lux;
257
257
  0.001 in converts to mil;
258
258
  1 minute converts to min;
259
259
  0.001 lux converts to nox;
260
- 250.0 pi amp m^-1 converts to oersted;
260
+ 250.0 amp m^-1 pi converts to oersted;
261
261
  36.0 in converts to pace;
262
262
  3.0 in converts to palm;
263
- 1 au radian arcsec^-1 converts to parsec;
263
+ 1 arcsec^-1 au radian converts to parsec;
264
264
  1 parsec converts to pc;
265
265
  100.0 lumen m^-2 converts to phot;
266
266
  1.0/6 in converts to pica;
267
267
  0.0000000000000000000000000000000006626 joule sec converts to planck;
268
268
  1.0/72 in converts to point;
269
269
  100.0 gm m^-1 sec^-1 converts to poise;
270
- 1 lb g in^-2 converts to psi;
270
+ 1 g in^-2 lb converts to psi;
271
271
  9.0 in converts to quarter;
272
272
  1 turn converts to rev;
273
273
  1 turn converts to revolution;
274
- 1 rev minute^-1 converts to rpm;
274
+ 1 minute^-1 rev converts to rpm;
275
275
  1 rev sec^-1 converts to rps;
276
276
  9.0 in converts to span;
277
277
  4.0 pi sr converts to spat;
278
278
  0.000000000333564095198152 amp converts to statamp;
279
279
  1 statamp converts to statampere;
280
280
  1000000.0 gm converts to tonne;
281
- 0.001 m hg converts to torr;
281
+ 0.001 hg m converts to torr;
282
282
  1 appound converts to troypound;
283
283
  1 joule sec^-1 converts to watt;
284
284
  1 atmosphere converts to atm;
@@ -293,16 +293,16 @@ vocabulary Units;
293
293
  4.1868 joule converts to cal;
294
294
  0.01 in converts to caliber;
295
295
  1 cal converts to calorie;
296
- 1.0/4 pi in^2 converts to circularinch;
297
- 0.00000025 pi in^2 converts to circularmil;
298
- 0.00000000001 m hg s^-1 converts to clusec;
296
+ 1.0/4 in^2 pi converts to circularinch;
297
+ 0.00000025 in^2 pi converts to circularmil;
298
+ 0.00000000001 hg m s^-1 converts to clusec;
299
299
  37.5 brgallon converts to cran;
300
300
  0.0906 gm converts to crith;
301
301
  18.0 in converts to cubit;
302
- 0.01 m gm sec^-2 converts to dyne;
302
+ 0.01 gm m sec^-2 converts to dyne;
303
303
  45.0 in converts to ell;
304
- 1 lumen pi^-1 m^-2 converts to equivalentlux;
305
- 0.01 m^2 gm sec^-2 converts to erg;
304
+ 1 lumen m^-2 pi^-1 converts to equivalentlux;
305
+ 0.01 gm m^2 sec^-2 converts to erg;
306
306
  7.0/8 in converts to finger;
307
307
  12.0 in converts to foot/feet;
308
308
  1000.0 cal converts to frigorie;
@@ -310,37 +310,37 @@ vocabulary Units;
310
310
  231.0 in^3 converts to gallon;
311
311
  4.0 in converts to hand;
312
312
  0.0000000000000000000000000000000001055 joule sec converts to hbar;
313
- 550.0 ft lb g sec^-1 converts to horsepower;
313
+ 550.0 ft g lb sec^-1 converts to horsepower;
314
314
  60.0 min converts to hour;
315
315
  1 horsepower converts to hp;
316
316
  1 hour converts to hr;
317
- 1 nmile hr^-1 converts to knot;
317
+ 1 hr^-1 nmile converts to knot;
318
318
  100.0 cal m^-2 converts to langley;
319
319
  900.0 ft pound^-1 converts to linenyarncount;
320
320
  33.0/50 ft converts to link;
321
321
  5280.0 ft converts to mile;
322
322
  2.5 foot converts to militarypace;
323
323
  1.5 ft^3 min^-1 converts to minersinch;
324
- 1 mile hr^-1 converts to mph;
324
+ 1 hr^-1 mile converts to mph;
325
325
  1 oersted converts to oe;
326
326
  1 ft lb sec^-2 converts to poundal;
327
327
  100.0 erg gm^-1 converts to rad;
328
- 12000.0 btu ton^-1 hour^-1 converts to refrigeration;
328
+ 12000.0 btu hour^-1 ton^-1 converts to refrigeration;
329
329
  100.0 ft^3 converts to registerton;
330
330
  20.0 ft converts to rope;
331
331
  1 ft^2 converts to sabin;
332
332
  40.0 ft^3 converts to shippington;
333
333
  23.934469444 hour converts to siderealday;
334
334
  1.0/24 siderealday converts to siderealhour;
335
- 1 lb g sec^2 ft^-1 converts to slug;
335
+ 1 ft^-1 g lb sec^2 converts to slug;
336
336
  100.0 ft^2 converts to square;
337
337
  66.0 ft converts to surveyorschain;
338
338
  33.0/50 ft converts to surveyorslink;
339
339
  100000.0 btu converts to therm;
340
340
  1000000.0 cal converts to thermie;
341
341
  1 ft^3 converts to timberfoot;
342
- 1 watt amp^-1 converts to volt;
343
- 1 volt sec converts to weber;
342
+ 1 amp^-1 watt converts to volt;
343
+ 1 sec volt converts to weber;
344
344
  1680.0 ft pound^-1 converts to worstedyarncount;
345
345
  3.0 ft converts to yard;
346
346
  1 yard converts to yd;
@@ -349,10 +349,10 @@ vocabulary Units;
349
349
  6080.0 ft hr^-1 converts to admiraltyknot;
350
350
  191.835 ft converts to arpentlin;
351
351
  1000000000.0 e volt converts to bev;
352
- 0.00000000011125945705385 hbar^2 C^2 N^-1 m^-2 e^-2 electronmass^-1 converts to bohrradius;
352
+ 0.00000000011125945705385 C^2 N^-1 e^-2 electronmass^-1 hbar^2 m^-2 converts to bohrradius;
353
353
  40.0 yd converts to bolt;
354
354
  4.0 brpeck converts to brbushel;
355
- 1200.0/3937 m ft^-1 converts to british;
355
+ 1200.0/3937 ft^-1 m converts to british;
356
356
  1.0/2 brquart converts to brpint;
357
357
  720.0 ft converts to cable;
358
358
  1 ft^3 sec^-1 converts to cfs;
@@ -362,37 +362,37 @@ vocabulary Units;
362
362
  2520.0 ft pound^-1 converts to cottonyarncount;
363
363
  24.0 hr converts to day;
364
364
  35.0 ft^3 converts to displacementton;
365
- 268.8025 in^3 gallon^-1 converts to dry approximately;
366
- 1 e V converts to eV;
365
+ 268.8025 gallon^-1 in^3 converts to dry approximately;
366
+ 1 V e converts to eV;
367
367
  1 e volt converts to electronvolt;
368
368
  100.0 ft converts to engineerschain;
369
369
  1 ft converts to engineerslink;
370
- 1 lumen pi^-1 ft^-2 converts to equivalentfootcandle;
370
+ 1 ft^-2 lumen pi^-1 converts to equivalentfootcandle;
371
371
  1 e volt converts to ev;
372
372
  1 coul volt^-1 converts to farad;
373
373
  6.0 ft converts to fathom;
374
- 1 lumen ft^-2 converts to footcandle;
375
- 1 cd pi^-1 ft^-2 converts to footlambert;
374
+ 1 ft^-2 lumen converts to footcandle;
375
+ 1 cd ft^-2 pi^-1 converts to footlambert;
376
376
  14.0 day converts to fortnight;
377
377
  16.0/15 ft converts to frenchfoot;
378
378
  220.0 yd converts to furlong;
379
379
  1 gallon converts to gal;
380
- 0.000000001 weber m^-2 converts to gamma;
381
- 0.0001 weber m^-2 converts to gauss;
380
+ 0.000000001 m^-2 weber converts to gamma;
381
+ 0.0001 m^-2 weber converts to gauss;
382
382
  1 british ft converts to geodeticfoot;
383
383
  22.0 yd converts to gunterschain;
384
- 1 sec^2 farad^-1 converts to henry;
384
+ 1 farad^-1 sec^2 converts to henry;
385
385
  4.0/5 gal converts to jeroboam;
386
386
  18.0 gal converts to kilderkin;
387
387
  29.5305555 day converts to lunarmonth;
388
388
  12.0 lunarmonth converts to lunaryear;
389
389
  0.00000001 weber converts to maxwell;
390
- 1000000.0 gal day^-1 converts to mgd;
390
+ 1000000.0 day^-1 gal converts to mgd;
391
391
  0.001 henry converts to mh;
392
392
  1 mile converts to mi;
393
- 1 mile gal^-1 converts to mpg;
393
+ 1 gal^-1 mile converts to mpg;
394
394
  1.0/16 yd converts to nail;
395
- 1 volt amp^-1 converts to ohm;
395
+ 1 amp^-1 volt converts to ohm;
396
396
  3.5 mi converts to parasang;
397
397
  1 poundal converts to pdl;
398
398
  0.000000000001 farad converts to pf;
@@ -411,7 +411,7 @@ vocabulary Units;
411
411
  1 british ft converts to surveyfoot;
412
412
  3.0 surveyfoot converts to surveyyard;
413
413
  1 lunarmonth converts to synodicmonth;
414
- 1 weber m^-2 converts to tesla;
414
+ 1 m^-2 weber converts to tesla;
415
415
  36.0 mi^2 converts to township;
416
416
  7.0 day converts to week;
417
417
  365.24219879 day converts to year approximately;
@@ -471,3 +471,4 @@ vocabulary Units;
471
471
  1 tablespoon converts to tbsp;
472
472
  4.0/3 fldr converts to teaspoon;
473
473
  1 teaspoon converts to tsp;
474
+