@@ -28,7 +28,17 @@ export default function ClassExpression({
28
28
29
29
const types = asArray ( expr [ 'type' ] )
30
30
31
- if ( types && types . indexOf ( 'datatype' ) !== - 1 ) {
31
+ function getCardinality ( value ) {
32
+ if ( value === null || value === undefined ) {
33
+ return [ ] ;
34
+ } else if ( Array . isArray ( value ) ) {
35
+ return value ;
36
+ } else {
37
+ return [ value ] ;
38
+ }
39
+ }
40
+
41
+ if ( types && types . indexOf ( 'datatype' ) !== - 1 ) {
32
42
// rdfs:Datatype
33
43
let equivClass = expr [ 'http://www.w3.org/2002/07/owl#equivalentClass' ] ;
34
44
if ( equivClass ) {
@@ -150,14 +160,19 @@ export default function ClassExpression({
150
160
</ span > ,
151
161
] ;
152
162
153
- for ( const subExpr of oneOf ) {
163
+ for ( let subExpr of oneOf ) {
154
164
if ( nodes . length > 1 ) {
155
165
nodes . push (
156
166
< span key = { randomString ( ) } className = "text-neutral-default" >
157
167
,
158
168
</ span >
159
169
) ;
160
170
}
171
+
172
+ if ( typeof subExpr === "number" ) {
173
+ subExpr = subExpr . toString ( ) ;
174
+ }
175
+
161
176
nodes . push (
162
177
< ClassExpression
163
178
key = { randomString ( ) }
@@ -301,9 +316,12 @@ export default function ClassExpression({
301
316
) ;
302
317
}
303
318
304
- const minCardinality = asArray (
319
+ let minCardinality = getCardinality (
305
320
expr [ "http://www.w3.org/2002/07/owl#minCardinality" ]
306
321
) [ 0 ] ;
322
+ if ( typeof minCardinality === 'number' ) {
323
+ minCardinality = minCardinality . toString ( )
324
+ }
307
325
if ( minCardinality ) {
308
326
return (
309
327
< span >
@@ -314,9 +332,12 @@ export default function ClassExpression({
314
332
) ;
315
333
}
316
334
317
- let maxCardinality = asArray (
335
+ let maxCardinality = getCardinality (
318
336
expr [ "http://www.w3.org/2002/07/owl#maxCardinality" ]
319
337
) [ 0 ] ;
338
+ if ( typeof maxCardinality === 'number' ) {
339
+ maxCardinality = maxCardinality . toString ( )
340
+ }
320
341
if ( maxCardinality ) {
321
342
return (
322
343
< span >
@@ -326,9 +347,12 @@ export default function ClassExpression({
326
347
</ span >
327
348
) ;
328
349
}
329
- let exactCardinality = asArray (
350
+ let exactCardinality = getCardinality (
330
351
expr [ "http://www.w3.org/2002/07/owl#cardinality" ]
331
352
) [ 0 ] ;
353
+ if ( typeof exactCardinality === 'number' ) {
354
+ exactCardinality = exactCardinality . toString ( )
355
+ }
332
356
if ( exactCardinality ) {
333
357
return (
334
358
< span >
0 commit comments