1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package test.wsmo4j.validator;
19
20 import org.deri.wsmo4j.validator.ValidationErrorImpl;
21 import org.omwg.ontology.*;
22 import org.wsmo.common.*;
23 import org.wsmo.factory.*;
24 import org.wsmo.validator.ValidationError;
25 import org.wsmo.validator.WsmlValidator;
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 public class AnonIDRef extends ValidatorTestCase {
46 WsmlValidator w = Factory.createWsmlValidator(null);
47 boolean b = false;
48 ValidationError ve = null;
49
50 WsmoFactory factory = Factory.createWsmoFactory(null);
51 private final static String ns = "http://example/";
52
53 Ontology ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
54 IRI ida = factory.createIRI(ns+"a");
55 IRI idnfp = factory.createIRI(ns+"nfp");
56 UnnumberedAnonymousID anonId = factory.createAnonymousID();
57 UnnumberedAnonymousID anonId2 = factory.createAnonymousID();
58 Concept c1 = factory.createConcept(factory.createIRI(ns+"c1"));
59 Concept c2 = factory.createConcept(factory.createIRI(ns+"c2"));
60 Concept c3 = factory.createConcept(factory.createIRI(ns+"c3"));
61 Concept c4 = factory.createConcept(factory.createIRI(ns+"c4"));
62 Relation r1 = factory.createRelation(factory.createIRI(ns+"r1"));
63 Instance i1 = factory.createInstance(factory.createIRI(ns+"i1"));
64 Concept anonC = factory.createConcept(anonId);
65 Instance anonI = factory.createInstance(anonId2);
66 Attribute a, attr;
67
68 public void testAnonymousSuperRelation() throws Exception {
69 errors.clear();
70 warnings.clear();
71 Ontology o = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
72 Relation r1 = factory.createRelation(factory.createAnonymousID());
73 Relation r2 = factory.createRelation(factory.createIRI(ns+"testAnonymousSuperRelationR1"));
74 r1.addSubRelation(r2);
75 o.addRelation(r1);
76 o.addRelation(r2);
77 b = w.isValid(o, WSML.WSML_CORE, errors, warnings);
78 ve = errors.firstElement();
79 assertFalse(b);
80 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
81
82 }
83
84
85
86
87
88
89
90
91
92 public void testAnonymousSuperConcept() throws Exception {
93 errors.clear();
94 warnings.clear();
95 Ontology o = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
96 Concept c1 = factory.createConcept(factory.createAnonymousID());
97 Concept c2 = factory.createConcept(factory.createIRI(ns+"testAnonymousSuperConceptC1"));
98 c1.addSubConcept(c2);
99 o.addConcept(c1);
100 o.addConcept(c2);
101 b = w.isValid(o, WSML.WSML_CORE, errors, warnings);
102 ve = errors.firstElement();
103 assertFalse(b);
104 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
105
106 c1.removeSubConcept(c2);
107 }
108
109
110
111
112
113
114
115
116
117 public void testAnonymousSubConcept() throws Exception {
118 errors.clear();
119 warnings.clear();
120 Ontology o = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
121 Concept c1 = factory.createConcept(factory.createAnonymousID());
122 Concept c2 = factory.createConcept(factory.createIRI(ns+"testAnonymousSubConceptC1"));
123 c1.addSuperConcept(c2);
124 o.addConcept(c1);
125 o.addConcept(c2);
126 b = w.isValid(o, WSML.WSML_CORE, errors, warnings);
127 assertTrue(b);
128 c1.removeSubConcept(c2);
129 }
130
131 public void testMutableEntityWithAnonId() throws Exception {
132
133
134
135
136 errors.clear();
137 warnings.clear();
138 Ontology o = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
139 Concept c1 = factory.createConcept(factory.createIRI(ns + "myC1"));
140 Concept c2 = factory.createConcept(factory.createAnonymousID());
141 c1.addSuperConcept(c2);
142 c1.setOntology(o);
143 c2.setOntology(o);
144 b = w.isValid(o, WSML.WSML_FULL, errors, warnings);
145 ve = errors.firstElement();
146
147
148 assertFalse(b);
149 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
150 c1.removeSuperConcept(c2);
151
152
153
154
155
156 errors.clear();
157 warnings.clear();
158 Relation r1 = factory.createRelation(factory.createIRI(ns + "myC1"));
159 Relation r2 = factory.createRelation(factory.createAnonymousID());
160 r1.createParameter((byte) 0);
161 r2.createParameter((byte) 0);
162 r1.addSuperRelation(r2);
163 r1.setOntology(o);
164 r2.setOntology(o);
165 b = w.isValid(o, WSML.WSML_FULL, errors, warnings);
166 ve = errors.firstElement();
167
168
169 assertFalse(b);
170 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
171 r1.removeSuperRelation(r2);
172 }
173
174 public void testMutableConcept() throws Exception {
175 errors.clear();
176 warnings.clear();
177 Relation rel = factory.createRelation(factory.createIRI(ns + "myR1"));
178 ontology.addRelation(rel);
179 Concept concept = factory.createConcept(factory.createAnonymousID());
180 rel.createParameter((byte) 0).addType(concept);
181 concept.setOntology(ontology);
182 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
183 ve = errors.firstElement();
184
185
186 assertFalse(b);
187 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
188 ontology.removeRelation(rel);
189 }
190
191
192
193
194 public void testAddSuperConcept() throws Exception {
195 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
196 ontology.addConcept(anonC);
197 ontology.addInstance(i1);
198 ontology.addRelation(r1);
199 r1.createParameter((byte) 0);
200
201
202
203 errors.clear();
204 warnings.clear();
205 c1.addSuperConcept(anonC);
206 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
207
208
209 assertTrue(b);
210 c1.removeSuperConcept(anonC);
211
212 ontology.addConcept(c1);
213 ontology.addConcept(c2);
214
215
216
217
218 errors.clear();
219 warnings.clear();
220 anonC.addSuperConcept(c2);
221 c1.addSuperConcept(anonC);
222 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
223 ve = errors.firstElement();
224
225
226 assertFalse(b);
227 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
228 anonC.removeSuperConcept(c2);
229 c1.removeSuperConcept(anonC);
230
231 ontology.removeConcept(c2);
232 ontology.addConcept(c3);
233
234
235
236
237 errors.clear();
238 warnings.clear();
239 a = anonC.createAttribute(ida);
240 a.addType(c3);
241 c1.addSuperConcept(anonC);
242 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
243 ve = errors.firstElement();
244
245
246 assertFalse(b);
247 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
248 anonC.removeAttribute(a);
249 a.removeType(c3);
250 c1.removeSuperConcept(anonC);
251
252 ontology.removeConcept(c3);
253 ontology.removeConcept(c1);
254 ontology.addConcept(c2);
255
256
257
258
259 errors.clear();
260 warnings.clear();
261 anonC.addInstance(i1);
262 anonC.addSuperConcept(c2);
263 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
264 ve = errors.firstElement();
265
266
267 assertFalse(b);
268 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
269 anonC.removeInstance(i1);
270 anonC.removeSuperConcept(c2);
271
272
273
274
275 errors.clear();
276 warnings.clear();
277 anonC.addNFPValue(idnfp,ida);
278 anonC.addSuperConcept(c2);
279 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
280 ve = errors.firstElement();
281
282
283 assertFalse(b);
284 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
285 anonC.removeNFP(idnfp);
286 anonC.removeSuperConcept(c2);
287
288 ontology.addConcept(c1);
289
290
291
292
293 errors.clear();
294 warnings.clear();
295
296 c1.addSuperConcept(anonC);
297 c2.addSuperConcept(anonC);
298 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
299 ve = errors.firstElement();
300
301
302 assertFalse(b);
303 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
304 anonC.removeSubConcept(c1);
305 c2.removeSuperConcept(anonC);
306
307
308
309
310 errors.clear();
311 warnings.clear();
312 a = c1.createAttribute(ida);
313 a.addType(anonC);
314 c2.addSuperConcept(anonC);
315 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
316 ve = errors.firstElement();
317
318
319 assertFalse(b);
320 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
321 c1.removeAttribute(a);
322 a.removeType(anonC);
323 c2.removeSuperConcept(anonC);
324
325 ontology.removeConcept(c1);
326
327
328
329
330 errors.clear();
331 warnings.clear();
332 Parameter p = r1.createParameter((byte)0);
333 p.addType(anonC);
334 c2.addSuperConcept(anonC);
335 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
336 ve = errors.firstElement();
337
338
339 assertFalse(b);
340 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
341 r1.removeParameter((byte)0);
342 p.removeType(anonC);
343 c2.removeSuperConcept(anonC);
344
345 ontology.removeConcept(c2);
346 ontology.removeRelation(r1);
347 ontology.removeConcept(anonC);
348 }
349
350
351
352
353 public void testConceptAddAttribute() throws Exception {
354
355 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
356
357
358
359 errors.clear();
360 warnings.clear();
361 attr = anonC.createAttribute(ida);
362 attr.addType(c3);
363 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
364
365
366 assertTrue(b);
367 attr.removeType(c3);
368 anonC.removeAttribute(attr);
369
370 ontology.addConcept(anonC);
371 ontology.addConcept(c3);
372 ontology.addConcept(c1);
373
374
375
376
377 errors.clear();
378 warnings.clear();
379 anonC.addSuperConcept(c1);
380 attr = anonC.createAttribute(ida);
381 attr.addType(c3);
382 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
383 ve = errors.firstElement();
384
385
386 assertFalse(b);
387 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
388 anonC.removeSuperConcept(c1);
389 attr.removeType(c3);
390 anonC.removeAttribute(ida);
391
392
393
394
395 errors.clear();
396 warnings.clear();
397 c1.addSuperConcept(anonC);
398 attr = anonC.createAttribute(ida);
399 attr.addType(c3);
400 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
401 ve = errors.firstElement();
402
403
404 assertFalse(b);
405 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
406 c1.removeSuperConcept(anonC);
407 attr.removeType(c3);
408 anonC.removeAttribute(ida);
409
410 ontology.removeConcept(c1);
411 ontology.addInstance(i1);
412
413
414
415
416 errors.clear();
417 warnings.clear();
418 i1.addConcept(anonC);
419 attr = anonC.createAttribute(ida);
420 attr.addType(c3);
421 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
422 ve = errors.firstElement();
423
424
425 assertFalse(b);
426 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
427 i1.removeConcept(anonC);
428 attr.removeType(c3);
429 anonC.removeAttribute(ida);
430
431 ontology.removeInstance(i1);
432
433
434
435
436 errors.clear();
437 warnings.clear();
438 anonC.addNFPValue(idnfp,ida);
439 attr = anonC.createAttribute(ida);
440 attr.addType(c3);
441 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
442 ve = errors.firstElement();
443
444
445 assertFalse(b);
446 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
447 anonC.removeNFP(idnfp);
448 attr.removeType(c3);
449 anonC.removeAttribute(ida);
450
451 ontology.removeConcept(c3);
452 ontology.removeConcept(anonC);
453 }
454
455
456
457
458 public void testParemeterAddType() throws Exception {
459 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
460 ontology.addConcept(c1);
461 ontology.addConcept(anonC);
462 Parameter p = r1.createParameter((byte)0);
463
464
465
466 errors.clear();
467 warnings.clear();
468 p.addType(anonC);
469 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
470
471
472 assertTrue(b);
473 p.removeType(anonC);
474
475 ontology.addRelation(r1);
476
477
478
479
480 errors.clear();
481 warnings.clear();
482 anonC.addSuperConcept(c2);
483 p.addType(anonC);
484 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
485 ve = errors.firstElement();
486
487
488 assertFalse(b);
489 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
490 anonC.removeSuperConcept(c2);
491 p.removeType(anonC);
492
493
494
495
496 errors.clear();
497 warnings.clear();
498 Attribute a = anonC.createAttribute(ida);
499 a.addType(c3);
500 p.addType(anonC);
501 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
502 ve = errors.firstElement();
503
504
505 assertFalse(b);
506 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
507 anonC.removeAttribute(a);
508 a.removeType(c3);
509 p.removeType(anonC);
510
511
512
513
514 errors.clear();
515 warnings.clear();
516 anonC.addInstance(i1);
517 p.addType(anonC);
518 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
519 ve = errors.firstElement();
520
521
522 assertFalse(b);
523 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
524 anonC.removeInstance(i1);
525 p.removeType(anonC);
526
527
528
529
530 errors.clear();
531 warnings.clear();
532 anonC.addNFPValue(idnfp,ida);
533 p.addType(anonC);
534 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
535 ve = errors.firstElement();
536
537
538 assertFalse(b);
539 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
540 anonC.removeNFP(idnfp);
541 p.removeType(anonC);
542
543
544
545
546 errors.clear();
547 warnings.clear();
548 anonC.addSubConcept(c1);
549 p.addType(anonC);
550 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
551 ve = errors.firstElement();
552
553
554 assertFalse(b);
555 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
556 anonC.removeSubConcept(c1);
557 p.removeType(anonC);
558
559
560
561
562 errors.clear();
563 warnings.clear();
564 a = c1.createAttribute(ida);
565 a.addType(anonC);
566 p.addType(anonC);
567 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
568 ve = errors.firstElement();
569
570
571 assertFalse(b);
572 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
573 c1.removeAttribute(a);
574 a.removeType(anonC);
575 p.removeType(anonC);
576
577
578
579 errors.clear();
580 warnings.clear();
581 Parameter p2 = r1.createParameter((byte)1);
582 p2.addType(anonC);
583 p.addType(anonC);
584 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
585 ve = errors.firstElement();
586
587
588 assertFalse(b);
589 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
590 r1.removeParameter((byte)1);
591 p2.removeType(anonC);
592 p.removeType(anonC);
593
594 ontology.removeConcept(c1);
595 ontology.removeConcept(anonC);
596 r1.removeParameter(p);
597 ontology.removeRelation(r1);
598 }
599
600
601
602
603
604 public void testAttributeAddType() throws Exception {
605 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
606 ontology.addConcept(c1);
607 ontology.addConcept(c2);
608 ontology.addConcept(c3);
609 a = c1.createAttribute(ida);
610
611
612
613 errors.clear();
614 warnings.clear();
615 a.addType(anonC);
616 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
617
618
619 assertTrue(b);
620 a.removeType(anonC);
621
622 ontology.addConcept(anonC);
623
624
625
626
627 errors.clear();
628 warnings.clear();
629 anonC.addSuperConcept(c2);
630 a.addType(anonC);
631 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
632 ve = errors.firstElement();
633
634
635 assertFalse(b);
636 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
637 anonC.removeSuperConcept(c2);
638 a.removeType(anonC);
639
640
641
642
643 errors.clear();
644 warnings.clear();
645 Attribute a2 = anonC.createAttribute(ida);
646 a2.addType(c3);
647 a.addType(anonC);
648 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
649 ve = errors.firstElement();
650
651
652 assertFalse(b);
653 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
654 a2.removeType(c3);
655 anonC.removeAttribute(a2);
656 a.removeType(anonC);
657
658
659
660
661
662 errors.clear();
663 warnings.clear();
664 a.addType(anonC);
665 attr = anonC.createAttribute(ida);
666 attr.addType(c3);
667 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
668 ve = errors.firstElement();
669
670
671 assertFalse(b);
672 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
673 a.removeType(anonC);
674 anonC.removeAttribute(ida);
675
676
677
678
679 errors.clear();
680 warnings.clear();
681 anonC.addInstance(i1);
682 a.addType(anonC);
683 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
684 ve = errors.firstElement();
685
686
687 assertFalse(b);
688 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
689 anonC.removeInstance(i1);
690 a.removeType(anonC);
691
692
693
694
695 errors.clear();
696 warnings.clear();
697 anonC.addNFPValue(idnfp,ida);
698 a.addType(anonC);
699 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
700 ve = errors.firstElement();
701
702
703 assertFalse(b);
704 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
705 anonC.removeNFP(idnfp);
706 a.removeType(anonC);
707
708
709
710
711 errors.clear();
712 warnings.clear();
713 anonC.addSubConcept(c1);
714 a.addType(anonC);
715 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
716 ve = errors.firstElement();
717
718
719 assertFalse(b);
720 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
721 anonC.removeSubConcept(c1);
722 a.removeType(anonC);
723
724
725
726
727 errors.clear();
728 warnings.clear();
729 Attribute a3 = c2.createAttribute(ida);
730 a.addType(anonC);
731 a3.addType(anonC);
732 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
733 ve = errors.firstElement();
734
735
736 assertFalse(b);
737 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
738 c2.removeAttribute(a3);
739 a.removeType(anonC);
740 a3.removeType(anonC);
741
742 ontology.addRelation(r1);
743
744
745
746
747 errors.clear();
748 warnings.clear();
749 Parameter p = r1.createParameter((byte)0);
750 p.addType(anonC);
751 a.addType(anonC);
752 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
753 ve = errors.firstElement();
754
755
756 assertFalse(b);
757 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
758 r1.removeParameter((byte)0);
759 p.removeType(anonC);
760 a.removeType(anonC);
761
762 c1.removeAttribute(a);
763 ontology.removeRelation(r1);
764 ontology.removeConcept(c1);
765 ontology.removeConcept(c2);
766 ontology.removeConcept(c3);
767 ontology.removeConcept(anonC);
768 }
769
770
771
772
773 public void testAddMemberOf() throws Exception {
774 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
775 ontology.addConcept(c1);
776 Instance i2 = factory.createInstance(factory.createIRI(ns+"i2"));
777 ontology.addInstance(i2);
778 ontology.addInstance(i1);
779
780
781
782 errors.clear();
783 warnings.clear();
784 i2.addConcept(anonC);
785 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
786
787
788 assertTrue(b);
789 i2.removeConcept(anonC);
790
791 ontology.addConcept(anonC);
792
793
794
795
796 errors.clear();
797 warnings.clear();
798 anonC.addSuperConcept(c2);
799 i2.addConcept(anonC);
800 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
801 ve = errors.firstElement();
802
803
804 assertFalse(b);
805 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
806 anonC.removeSuperConcept(c2);
807 i2.removeConcept(anonC);
808
809
810
811
812 errors.clear();
813 warnings.clear();
814 Attribute a = anonC.createAttribute(ida);
815 a.addType(c3);
816 i2.addConcept(anonC);
817 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
818 ve = errors.firstElement();
819
820
821 assertFalse(b);
822 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
823 anonC.removeAttribute(a);
824 a.removeType(c3);
825 i2.removeConcept(anonC);
826
827
828
829
830 errors.clear();
831 warnings.clear();
832 anonC.addInstance(i1);
833 i2.addConcept(anonC);
834 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
835 ve = errors.firstElement();
836
837
838 assertFalse(b);
839 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
840 anonC.removeInstance(i1);
841 i2.removeConcept(anonC);
842
843
844
845
846 errors.clear();
847 warnings.clear();
848 anonC.addNFPValue(idnfp,ida);
849 i2.addConcept(anonC);
850 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
851 ve = errors.firstElement();
852
853
854 assertFalse(b);
855 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
856 anonC.removeNFP(idnfp);
857 i2.removeConcept(anonC);
858
859
860
861
862 errors.clear();
863 warnings.clear();
864 anonC.addSubConcept(c1);
865 i2.addConcept(anonC);
866 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
867 ve = errors.firstElement();
868
869
870 assertFalse(b);
871 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
872 anonC.removeSubConcept(c1);
873 i2.removeConcept(anonC);
874
875
876
877
878 errors.clear();
879 warnings.clear();
880 a = c1.createAttribute(ida);
881 a.addType(anonC);
882 i2.addConcept(anonC);
883 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
884 ve = errors.firstElement();
885
886
887 assertFalse(b);
888 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
889 c1.removeAttribute(a);
890 a.removeType(anonC);
891 i2.removeConcept(anonC);
892
893 ontology.addRelation(r1);
894
895
896
897
898 errors.clear();
899 warnings.clear();
900 Parameter p = r1.createParameter((byte)0);
901 p.addType(anonC);
902 i2.addConcept(anonC);
903 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
904 ve = errors.firstElement();
905
906
907 assertFalse(b);
908 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
909 r1.removeParameter((byte)0);
910 p.removeType(anonC);
911 i2.removeConcept(anonC);
912
913 ontology.removeRelation(r1);
914 ontology.removeConcept(c1);
915 ontology.removeConcept(anonC);
916 ontology.removeInstance(i1);
917 ontology.removeInstance(i2);
918 }
919
920
921
922
923 public void testAddValueAttribute() throws Exception {
924 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
925 Instance i4 = factory.createInstance(factory.createIRI(ns+"i4"));
926 IRI attr = factory.createIRI(ns + "attribute");
927
928 ontology.addInstance(i1);
929 ontology.addInstance(anonI);
930
931
932
933 errors.clear();
934 warnings.clear();
935 i4.addAttributeValue(attr,anonI);
936 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
937
938
939 assertTrue(b);
940 i4.removeAttributeValues(attr);
941
942 ontology.addInstance(i4);
943
944
945
946
947 errors.clear();
948 warnings.clear();
949 anonI.addAttributeValue(attr,i1);
950 i4.addAttributeValue(attr,anonI);
951 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
952 ve = errors.firstElement();
953
954
955 assertFalse(b);
956 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
957 anonI.removeAttributeValues(attr);
958 i4.removeAttributeValues(attr);
959
960
961
962
963 errors.clear();
964 warnings.clear();
965 anonI.addConcept(c1);
966 i4.addAttributeValue(attr,anonI);
967 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
968 ve = errors.firstElement();
969
970
971 assertFalse(b);
972 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
973 anonI.removeConcept(c1);
974 i4.removeAttributeValues(attr);
975
976
977
978
979 errors.clear();
980 warnings.clear();
981 anonI.addNFPValue(idnfp, i1);
982 i4.addAttributeValue(attr,anonI);
983 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
984 ve = errors.firstElement();
985
986
987 assertFalse(b);
988 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
989 anonI.removeNFP(idnfp);
990 i4.removeAttributeValues(attr);
991
992 ontology.removeInstance(anonI);
993 ontology.removeInstance(i1);
994 ontology.removeInstance(i4);
995 }
996
997
998
999
1000 public void testAddValueParameter() throws Exception {
1001 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
1002 IRI attr = factory.createIRI(ns + "attribute");
1003 Relation r4 = factory.createRelation(factory.createIRI(ns+"r4"));
1004 r4.createParameter((byte)0);
1005 RelationInstance ri4 = factory.createRelationInstance(r4);
1006
1007 ontology.addRelation(r4);
1008 ontology.addRelationInstance(ri4);
1009
1010
1011
1012 errors.clear();
1013 warnings.clear();
1014 ri4.setParameterValue((byte)0,anonI);
1015 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1016
1017
1018 assertTrue(b);
1019 ri4.setParameterValue((byte)0,null);
1020
1021 ontology.addInstance(anonI);
1022
1023
1024
1025
1026 errors.clear();
1027 warnings.clear();
1028 anonI.addAttributeValue(attr,i1);
1029 ri4.setParameterValue((byte)0,anonI);
1030 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1031 ve = errors.firstElement();
1032
1033
1034 assertFalse(b);
1035 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1036 anonI.removeAttributeValues(attr);
1037 ri4.setParameterValue((byte)0,null);
1038
1039
1040
1041
1042 errors.clear();
1043 warnings.clear();
1044 anonI.addConcept(c1);
1045 ri4.setParameterValue((byte)0,anonI);
1046 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1047 ve = errors.firstElement();
1048
1049
1050 assertFalse(b);
1051 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1052 anonI.removeConcept(c1);
1053 ri4.setParameterValue((byte)0,null);
1054
1055
1056
1057
1058 errors.clear();
1059 warnings.clear();
1060 anonI.addNFPValue(idnfp, i1);
1061 ri4.setParameterValue((byte)0,anonI);
1062 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1063 ve = errors.firstElement();
1064
1065
1066 assertFalse(b);
1067 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1068 anonI.removeNFP(idnfp);
1069 ri4.setParameterValue((byte)0,null);
1070
1071 ontology.removeRelation(r4);
1072 ontology.removeRelationInstance(ri4);
1073 ontology.removeInstance(anonI);
1074 }
1075
1076
1077
1078
1079 public void testAddSuperRelation() throws Exception {
1080 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
1081 Relation anonR = factory.createRelation(factory.createAnonymousID());
1082 Relation r3 = factory.createRelation(factory.createIRI(ns + "r3"));
1083 r1.createParameter((byte) 0);
1084 r3.createParameter((byte) 0);
1085 anonR.createParameter((byte) 0);
1086 Parameter p;
1087 ontology.addRelation(r3);
1088 ontology.addRelation(anonR);
1089
1090
1091
1092 errors.clear();
1093 warnings.clear();
1094 r1.addSuperRelation(anonR);
1095 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1096
1097
1098 assertTrue(b);
1099 r1.removeSuperRelation(anonR);
1100
1101 ontology.addRelation(r1);
1102
1103
1104
1105
1106 errors.clear();
1107 warnings.clear();
1108 anonR.addSuperRelation(r3);
1109 r1.addSuperRelation(anonR);
1110 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1111 ve = errors.firstElement();
1112
1113
1114 assertFalse(b);
1115 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1116 anonR.removeSuperRelation(r3);
1117 r1.removeSuperRelation(anonR);
1118
1119
1120
1121
1122 errors.clear();
1123 warnings.clear();
1124 p = anonR.createParameter((byte) 0);
1125 p.addType(c1);
1126 r1.addSuperRelation(anonR);
1127 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1128 ve = errors.firstElement();
1129
1130
1131 assertFalse(b);
1132 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1133 anonR.removeParameter((byte) 0);
1134 p.removeType(c1);
1135 r1.removeSuperRelation(anonR);
1136
1137
1138
1139
1140 errors.clear();
1141 warnings.clear();
1142 p = r1.createParameter((byte)0);
1143 anonR.createParameter((byte) 0);
1144 p.addType(anonC);
1145 r3.addSuperRelation(r1);
1146 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1147 ve = errors.firstElement();
1148
1149
1150 assertFalse(b);
1151 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1152 r1.removeParameter((byte)0);
1153 p.removeType(anonC);
1154 r3.removeSuperRelation(r1);
1155
1156
1157
1158
1159 errors.clear();
1160 warnings.clear();
1161 r1.createParameter((byte) 0);
1162 anonR.addNFPValue(idnfp,ida);
1163 anonR.addSuperRelation(r1);
1164 anonR.createParameter((byte) 0);
1165 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1166 ve = errors.firstElement();
1167
1168
1169 assertFalse(b);
1170 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1171 anonR.removeNFP(idnfp);
1172 anonR.removeSuperRelation(r1);
1173
1174
1175
1176
1177 errors.clear();
1178 warnings.clear();
1179 anonR.addSuperRelation(r1);
1180 anonR.addSuperRelation(r3);
1181 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1182 ve = errors.firstElement();
1183
1184
1185 assertFalse(b);
1186 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1187 anonR.removeSuperRelation(r1);
1188 anonR.removeSuperRelation(r3);
1189
1190
1191
1192
1193 errors.clear();
1194 warnings.clear();
1195 anonR.addSubRelation(r1);
1196 r3.addSuperRelation(anonR);
1197 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1198 ve = errors.firstElement();
1199
1200
1201 assertFalse(b);
1202 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1203 anonR.removeSubRelation(r1);
1204 r3.removeSuperRelation(anonR);
1205
1206 ontology.removeRelation(r1);
1207 ontology.removeRelation(r3);
1208 ontology.removeRelation(anonR);
1209 }
1210
1211
1212
1213
1214 public void testCreateRelationInstance() throws Exception {
1215 ontology = factory.createOntology(factory.createIRI(ns + getOntLocalName()));
1216
1217
1218
1219
1220 errors.clear();
1221 warnings.clear();
1222 Relation anonR = factory.createRelation(factory.createAnonymousID());
1223 anonR.createParameter((byte) 0);
1224 ontology.addRelation(anonR);
1225 RelationInstance ri = factory.createRelationInstance(anonR);
1226 ontology.addRelationInstance(ri);
1227 b = w.isValid(ontology, WSML.WSML_FULL, errors, warnings);
1228 ve = errors.firstElement();
1229
1230
1231 assertFalse(b);
1232 assertTrue(ve.getReason().startsWith(ValidationErrorImpl.ANON_ID_ERR));
1233 anonR.removeRelationInstance(ri);
1234 }
1235
1236 }
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291