@@ -226,9 +226,9 @@ public Stream<OWLAnnotation> annotations() {
226
226
}
227
227
228
228
/*
229
- * =============================
230
- * Methods to work with imports:
231
- * =============================
229
+ * =================================
230
+ * Methods for working with imports:
231
+ * =================================
232
232
*/
233
233
234
234
@ Override
@@ -257,9 +257,9 @@ public Stream<OWLOntology> importsClosure() {
257
257
}
258
258
259
259
/*
260
- * ==========================
261
- * To work with OWL-entities:
262
- * ==========================
260
+ * ======================================
261
+ * Methods for working with OWL-entities:
262
+ * ======================================
263
263
*/
264
264
265
265
@ Override
@@ -400,6 +400,9 @@ public Stream<OWLEntity> entitiesInSignature(IRI iri, Imports imports) {
400
400
401
401
@ Override
402
402
public Set <IRI > getPunnedIRIs (Imports imports ) {
403
+ if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
404
+ return getFullGraphModel ().listPunningIRIs (false ).collect (Collectors .toSet ());
405
+ }
403
406
return base .listPunningIRIs (Imports .INCLUDED == imports ).collect (Collectors .toSet ());
404
407
}
405
408
@@ -418,31 +421,79 @@ public boolean containsClassInSignature(IRI iri) {
418
421
return base .containsOWLEntity (getDataFactory ().getOWLClass (iri ));
419
422
}
420
423
424
+ @ Override
425
+ public boolean containsClassInSignature (IRI iri , Imports imports ) {
426
+ if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
427
+ return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLClass (iri ));
428
+ }
429
+ return imports .stream (this ).anyMatch (o -> o .containsClassInSignature (iri ));
430
+ }
431
+
421
432
@ Override
422
433
public boolean containsObjectPropertyInSignature (IRI iri ) {
423
434
return base .containsOWLEntity (getDataFactory ().getOWLObjectProperty (iri ));
424
435
}
425
436
437
+ @ Override
438
+ public boolean containsObjectPropertyInSignature (IRI iri , Imports imports ) {
439
+ if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
440
+ return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLObjectProperty (iri ));
441
+ }
442
+ return imports .stream (this ).anyMatch (o -> o .containsObjectPropertyInSignature (iri ));
443
+ }
444
+
426
445
@ Override
427
446
public boolean containsDataPropertyInSignature (IRI iri ) {
428
447
return base .containsOWLEntity (getDataFactory ().getOWLDataProperty (iri ));
429
448
}
430
449
450
+ @ Override
451
+ public boolean containsDataPropertyInSignature (IRI iri , Imports imports ) {
452
+ if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
453
+ return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLDataProperty (iri ));
454
+ }
455
+ return imports .stream (this ).anyMatch (o -> o .containsDataPropertyInSignature (iri ));
456
+ }
457
+
431
458
@ Override
432
459
public boolean containsAnnotationPropertyInSignature (IRI iri ) {
433
460
return base .containsOWLEntity (getDataFactory ().getOWLAnnotationProperty (iri ));
434
461
}
435
462
463
+ @ Override
464
+ public boolean containsAnnotationPropertyInSignature (IRI iri , Imports imports ) {
465
+ if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
466
+ return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLAnnotationProperty (iri ));
467
+ }
468
+ return imports .stream (this ).anyMatch (o -> o .containsAnnotationPropertyInSignature (iri ));
469
+ }
470
+
436
471
@ Override
437
472
public boolean containsDatatypeInSignature (IRI iri ) {
438
473
return base .containsOWLEntity (getDataFactory ().getOWLDatatype (iri ));
439
474
}
440
475
476
+ @ Override
477
+ public boolean containsDatatypeInSignature (IRI iri , Imports imports ) {
478
+ if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
479
+ return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLDatatype (iri ));
480
+ }
481
+ return imports .stream (this ).anyMatch (o -> o .containsDatatypeInSignature (iri ));
482
+ }
483
+
441
484
@ Override
442
485
public boolean containsIndividualInSignature (IRI iri ) {
443
486
return base .containsOWLEntity (getDataFactory ().getOWLNamedIndividual (iri ));
444
487
}
445
488
489
+ @ Override
490
+ public boolean containsIndividualInSignature (IRI iri , Imports imports ) {
491
+ if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
492
+ return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLNamedIndividual (iri ));
493
+ }
494
+ return imports .stream (this ).anyMatch (o -> o .containsIndividualInSignature (iri ));
495
+ }
496
+
446
497
@ Override
447
498
public boolean containsEntityInSignature (IRI iri ) {
448
499
return containsClassInSignature (iri )
@@ -453,6 +504,16 @@ public boolean containsEntityInSignature(IRI iri) {
453
504
|| containsAnnotationPropertyInSignature (iri );
454
505
}
455
506
507
+ @ Override
508
+ public boolean containsEntityInSignature (IRI entityIRI , Imports imports ) {
509
+ return containsClassInSignature (entityIRI , imports )
510
+ || containsObjectPropertyInSignature (entityIRI , imports )
511
+ || containsDataPropertyInSignature (entityIRI , imports )
512
+ || containsIndividualInSignature (entityIRI , imports )
513
+ || containsDatatypeInSignature (entityIRI , imports )
514
+ || containsAnnotationPropertyInSignature (entityIRI , imports );
515
+ }
516
+
456
517
@ Override
457
518
public boolean containsEntityInSignature (OWLEntity entity ) {
458
519
if (entity .isOWLClass ()) {
@@ -476,6 +537,29 @@ public boolean containsEntityInSignature(OWLEntity entity) {
476
537
throw new OntApiException .IllegalArgument ("Unsupported entity: " + entity );
477
538
}
478
539
540
+ @ Override
541
+ public boolean containsEntityInSignature (OWLEntity entity , Imports imports ) {
542
+ if (entity .isOWLClass ()) {
543
+ return containsClassInSignature (entity .getIRI (), imports );
544
+ }
545
+ if (entity .isOWLDatatype ()) {
546
+ return containsDatatypeInSignature (entity .getIRI (), imports );
547
+ }
548
+ if (entity .isOWLNamedIndividual ()) {
549
+ return containsIndividualInSignature (entity .getIRI (), imports );
550
+ }
551
+ if (entity .isOWLAnnotationProperty ()) {
552
+ return containsAnnotationPropertyInSignature (entity .getIRI (), imports );
553
+ }
554
+ if (entity .isOWLObjectProperty ()) {
555
+ return containsObjectPropertyInSignature (entity .getIRI (), imports );
556
+ }
557
+ if (entity .isOWLDataProperty ()) {
558
+ return containsDataPropertyInSignature (entity .getIRI (), imports );
559
+ }
560
+ throw new OntApiException .IllegalArgument ("Unsupported entity: " + entity );
561
+ }
562
+
479
563
@ Override
480
564
public boolean containsEntitiesOfTypeInSignature (EntityType <?> type ) {
481
565
if (EntityType .CLASS .equals (type )) {
@@ -499,10 +583,33 @@ public boolean containsEntitiesOfTypeInSignature(EntityType<?> type) {
499
583
throw new IllegalArgumentException ("Entity type " + type + " is not valid for entity presence check" );
500
584
}
501
585
586
+ @ Override
587
+ public boolean containsEntitiesOfTypeInSignature (EntityType <?> type , Imports imports ) {
588
+ if (EntityType .CLASS .equals (type )) {
589
+ return classesInSignature (imports ).findFirst ().isPresent ();
590
+ }
591
+ if (EntityType .DATA_PROPERTY .equals (type )) {
592
+ return dataPropertiesInSignature (imports ).findFirst ().isPresent ();
593
+ }
594
+ if (EntityType .OBJECT_PROPERTY .equals (type )) {
595
+ return objectPropertiesInSignature (imports ).findFirst ().isPresent ();
596
+ }
597
+ if (EntityType .ANNOTATION_PROPERTY .equals (type )) {
598
+ return annotationPropertiesInSignature (imports ).findFirst ().isPresent ();
599
+ }
600
+ if (EntityType .DATATYPE .equals (type )) {
601
+ return datatypesInSignature (imports ).findFirst ().isPresent ();
602
+ }
603
+ if (EntityType .NAMED_INDIVIDUAL .equals (type )) {
604
+ return individualsInSignature (imports ).findFirst ().isPresent ();
605
+ }
606
+ throw new IllegalArgumentException ("Entity type " + type + " is not valid for entity presence check" );
607
+ }
608
+
502
609
/*
503
- * =======================
504
- * To work with OWL-Axioms
505
- * =======================
610
+ * ===================================
611
+ * Methods for working with OWL-Axioms
612
+ * ===================================
506
613
*/
507
614
508
615
@ Override
@@ -1050,64 +1157,6 @@ public boolean contains(OWLAxiomSearchFilter filter, Object key) {
1050
1157
return base .listOWLAxioms (filter .getAxiomTypes ()).anyMatch (a -> filter .pass (a , key ));
1051
1158
}
1052
1159
1053
- @ Override
1054
- public boolean containsClassInSignature (IRI iri , Imports imports ) {
1055
- if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
1056
- return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLClass (iri ));
1057
- }
1058
- return imports .stream (this ).anyMatch (o -> o .containsClassInSignature (iri ));
1059
- }
1060
-
1061
- @ Override
1062
- public boolean containsObjectPropertyInSignature (IRI iri , Imports imports ) {
1063
- if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
1064
- return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLObjectProperty (iri ));
1065
- }
1066
- return imports .stream (this ).anyMatch (o -> o .containsObjectPropertyInSignature (iri ));
1067
- }
1068
-
1069
- @ Override
1070
- public boolean containsDataPropertyInSignature (IRI iri , Imports imports ) {
1071
- if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
1072
- return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLDataProperty (iri ));
1073
- }
1074
- return imports .stream (this ).anyMatch (o -> o .containsDataPropertyInSignature (iri ));
1075
- }
1076
-
1077
- @ Override
1078
- public boolean containsAnnotationPropertyInSignature (IRI iri , Imports imports ) {
1079
- if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
1080
- return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLAnnotationProperty (iri ));
1081
- }
1082
- return imports .stream (this ).anyMatch (o -> o .containsAnnotationPropertyInSignature (iri ));
1083
- }
1084
-
1085
- @ Override
1086
- public boolean containsDatatypeInSignature (IRI iri , Imports imports ) {
1087
- if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
1088
- return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLDatatype (iri ));
1089
- }
1090
- return imports .stream (this ).anyMatch (o -> o .containsDatatypeInSignature (iri ));
1091
- }
1092
-
1093
- @ Override
1094
- public boolean containsIndividualInSignature (IRI iri , Imports imports ) {
1095
- if (imports == Imports .INCLUDED && !config .useComponentCache ()) {
1096
- return getFullGraphModel ().containsOWLEntity (getDataFactory ().getOWLNamedIndividual (iri ));
1097
- }
1098
- return imports .stream (this ).anyMatch (o -> o .containsIndividualInSignature (iri ));
1099
- }
1100
-
1101
- @ Override
1102
- public boolean containsEntityInSignature (IRI entityIRI , Imports imports ) {
1103
- return containsClassInSignature (entityIRI , imports )
1104
- || containsObjectPropertyInSignature (entityIRI , imports )
1105
- || containsDataPropertyInSignature (entityIRI , imports )
1106
- || containsIndividualInSignature (entityIRI , imports )
1107
- || containsDatatypeInSignature (entityIRI , imports )
1108
- || containsAnnotationPropertyInSignature (entityIRI , imports );
1109
- }
1110
-
1111
1160
@ Override
1112
1161
public boolean containsAxiom (OWLAxiom axiom , Imports imports , AxiomAnnotations ignoreAnnotations ) {
1113
1162
return imports .stream (this ).anyMatch (o -> ignoreAnnotations .contains (o , axiom ));
@@ -1347,8 +1396,8 @@ private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundE
1347
1396
/**
1348
1397
* Writes the object while serialization.
1349
1398
* Note: only the base graph is serialized,
1350
- * so if you serialize and then de-serialize standalone ontology it will lose all its references,
1351
- * please use managers serialization, it will restore any links.
1399
+ * so if you serialize and then deserialize standalone ontology, it will lose all its references,
1400
+ * please use manager's serialization, it will restore any links.
1352
1401
* Also, please note: an exception is expected if the encapsulated graph is not {@code GraphMem}.
1353
1402
*
1354
1403
* @param out {@link ObjectOutputStream}
@@ -1368,7 +1417,6 @@ private void writeObject(ObjectOutputStream out) throws IOException, OntApiExcep
1368
1417
1369
1418
/**
1370
1419
* Overridden {@link OWLObjectImpl#toString()} in order not to force the axioms loading.
1371
- * For brief information there should be a separate method and the original implementation of toString is not very good idea in our case.
1372
1420
*
1373
1421
* @return String
1374
1422
*/
0 commit comments