14 package cz.vutbr.fit.knot.annotations.web;
16 import java.util.HashSet;
18 import org.semanticweb.owlapi.model.OWLAxiom;
19 import org.semanticweb.owlapi.model.OWLClass;
20 import org.semanticweb.owlapi.model.OWLIndividual;
21 import org.semanticweb.owlapi.model.OWLObjectAllValuesFrom;
22 import org.semanticweb.owlapi.model.OWLObjectExactCardinality;
23 import org.semanticweb.owlapi.model.OWLObjectHasSelf;
24 import org.semanticweb.owlapi.model.OWLObjectHasValue;
25 import org.semanticweb.owlapi.model.OWLObjectMaxCardinality;
26 import org.semanticweb.owlapi.model.OWLObjectMinCardinality;
27 import org.semanticweb.owlapi.model.OWLObjectProperty;
28 import org.semanticweb.owlapi.model.OWLObjectSomeValuesFrom;
29 import org.semanticweb.owlapi.util.OWLOntologyWalker;
30 import org.semanticweb.owlapi.util.OWLOntologyWalkerVisitor;
129 cardinalityData =
new HashSet<OWLVisitorForRestrictionData.CardinalityData>();
130 hasValueData =
new HashSet<OWLVisitorForRestrictionData.HasValueData>();
131 hasSelfData =
new HashSet<OWLVisitorForRestrictionData.ValueData>();
211 Integer.parseInt(value);
213 }
catch (NumberFormatException e) {
224 String name = UploadOntology.getNameFromURI(uri);
225 if (!name.startsWith(
"Error")) {
228 String errorNumber = name.substring(5, name.length());
239 public Object
visit(OWLObjectMinCardinality desc) {
240 OWLAxiom axiom = getCurrentAxiom();
241 Set<OWLObjectProperty> properties = axiom.getObjectPropertiesInSignature();
242 if (properties.isEmpty()) {
245 OWLClass subjectClass = null;
246 boolean subjectClassFound =
false;
247 for (OWLClass cls : axiom.getClassesInSignature()) {
248 if (!cls.isOWLThing()) {
249 subjectClassFound =
true;
254 if (!subjectClassFound) {
257 OWLVisitorForRestrictionData.CardinalityData data =
new OWLVisitorForRestrictionData.CardinalityData(desc.getCardinality(), properties.iterator().next().toStringID(), subjectClass.toStringID());
258 minCardinalityData.add(data);
271 public Object
visit(OWLObjectMaxCardinality desc) {
272 OWLAxiom axiom = getCurrentAxiom();
273 Set<OWLObjectProperty> properties = axiom.getObjectPropertiesInSignature();
274 if (properties.isEmpty()) {
277 OWLClass subjectClass = null;
278 boolean subjectClassFound =
false;
279 for (OWLClass cls : axiom.getClassesInSignature()) {
280 if (!cls.isOWLThing()) {
281 subjectClassFound =
true;
286 if (!subjectClassFound) {
289 OWLVisitorForRestrictionData.CardinalityData data =
new OWLVisitorForRestrictionData.CardinalityData(desc.getCardinality(), properties.iterator().next().toStringID(), subjectClass.toStringID());
290 maxCardinalityData.add(data);
303 public Object
visit(OWLObjectExactCardinality desc) {
304 OWLAxiom axiom = getCurrentAxiom();
305 Set<OWLObjectProperty> properties = axiom.getObjectPropertiesInSignature();
306 if (properties.isEmpty()) {
309 OWLClass subjectClass = null;
310 boolean subjectClassFound =
false;
311 for (OWLClass cls : axiom.getClassesInSignature()) {
312 if (!cls.isOWLThing()) {
313 subjectClassFound =
true;
318 if (!subjectClassFound) {
321 OWLVisitorForRestrictionData.CardinalityData data =
new OWLVisitorForRestrictionData.CardinalityData(desc.getCardinality(), properties.iterator().next().toStringID(), subjectClass.toStringID());
322 cardinalityData.add(data);
335 public Object
visit(OWLObjectHasValue desc) {
336 OWLAxiom axiom = getCurrentAxiom();
337 Set<OWLObjectProperty> properties = axiom.getObjectPropertiesInSignature();
338 if (properties.isEmpty()) {
341 OWLClass subjectClass = null;
342 boolean subjectClassFound =
false;
343 for (OWLClass cls : axiom.getClassesInSignature()) {
344 if (!cls.isOWLThing()) {
345 subjectClassFound =
true;
350 if (!subjectClassFound) {
353 OWLVisitorForRestrictionData.HasValueData data =
new OWLVisitorForRestrictionData.HasValueData(desc.getValue(), properties.iterator().next().toStringID(), subjectClass.toStringID());
354 hasValueData.add(data);
367 public Object
visit(OWLObjectHasSelf desc) {
368 OWLAxiom axiom = getCurrentAxiom();
369 Set<OWLObjectProperty> properties = axiom.getObjectPropertiesInSignature();
370 if (properties.isEmpty()) {
373 desc.isDataRestriction();
374 OWLClass subjectClass = null;
375 boolean subjectClassFound =
false;
376 for (OWLClass cls : axiom.getClassesInSignature()) {
377 if (!cls.isOWLThing()) {
378 subjectClassFound =
true;
383 if (!subjectClassFound) {
386 OWLVisitorForRestrictionData.ValueData data =
new OWLVisitorForRestrictionData.ValueData(
"", properties.iterator().next().toStringID(), subjectClass.toStringID());
387 hasSelfData.add(data);
400 public Object
visit(OWLObjectSomeValuesFrom desc) {
402 OWLAxiom axiom = getCurrentAxiom();
403 Set<OWLObjectProperty> properties = axiom.getObjectPropertiesInSignature();
404 if (properties.isEmpty()) {
407 OWLClass subjectClass = null;
408 boolean subjectClassFound =
false;
409 for (OWLClass cls : axiom.getClassesInSignature()) {
410 if (!cls.isOWLThing() && !cls.toStringID().equals(desc.getFiller().asOWLClass().toStringID())) {
411 subjectClassFound =
true;
416 if (!subjectClassFound) {
417 subjectClassFound =
true;
418 subjectClass = desc.getFiller().asOWLClass();
423 OWLVisitorForRestrictionData.ValueData data =
new OWLVisitorForRestrictionData.ValueData(desc.getFiller().asOWLClass().toStringID(), properties.iterator().next().toStringID(), subjectClass.toStringID());
424 someValuesFromData.add(data);
425 }
catch (Exception e) {}
438 public Object
visit(OWLObjectAllValuesFrom desc) {
440 OWLAxiom axiom = getCurrentAxiom();
441 Set<OWLObjectProperty> properties = axiom.getObjectPropertiesInSignature();
442 if (properties.isEmpty()) {
445 OWLClass subjectClass = null;
446 boolean subjectClassFound =
false;
447 for (OWLClass cls : axiom.getClassesInSignature()) {
448 if (!cls.isOWLThing() && !cls.toStringID().equals(desc.getFiller().asOWLClass().toStringID())) {
449 subjectClassFound =
true;
454 if (!subjectClassFound) {
455 subjectClassFound =
true;
456 subjectClass = desc.getFiller().asOWLClass();
461 OWLVisitorForRestrictionData.ValueData data =
new OWLVisitorForRestrictionData.ValueData(desc.getFiller().asOWLClass().toStringID(), properties.iterator().next().toStringID(), subjectClass.toStringID());
462 allValuesFromData.add(data);
463 }
catch (Exception e) {}
Set< OWLVisitorForRestrictionData.ValueData > getSomeValuesFromData()
Set< OWLVisitorForRestrictionData.CardinalityData > maxCardinalityData
Object visit(OWLObjectExactCardinality desc)
Object visit(OWLObjectHasSelf desc)
Object visit(OWLObjectSomeValuesFrom desc)
Set< OWLVisitorForRestrictionData.ValueData > someValuesFromData
CardinalityData(int cardinality, String propertyURI, String classURI)
boolean errorClassDetection(String uri)
Data class for cardinality restriction.
Object visit(OWLObjectHasValue desc)
Object visit(OWLObjectMinCardinality desc)
Set< OWLVisitorForRestrictionData.HasValueData > hasValueData
Set< OWLVisitorForRestrictionData.CardinalityData > getMaxCardinalityData()
Set< OWLVisitorForRestrictionData.ValueData > getHasSelfData()
Set< OWLVisitorForRestrictionData.CardinalityData > getCardinalityData()
Object visit(OWLObjectAllValuesFrom desc)
ValueData(String valueURI, String propertyURI, String classURI)
Data class for someValueFrom and allValueFrom restriction.
Set< OWLVisitorForRestrictionData.CardinalityData > minCardinalityData
OWLVisitorForRestrictionData(OWLOntologyWalker walker)
Set< OWLVisitorForRestrictionData.CardinalityData > getMinCardinalityData()
static boolean tryParseInt(String value)
Set< OWLVisitorForRestrictionData.ValueData > getAllValuesFromData()
HasValueData(OWLIndividual individual, String propertyURI, String classURI)
Set< OWLVisitorForRestrictionData.ValueData > allValuesFromData
Set< OWLVisitorForRestrictionData.ValueData > hasSelfData
Object visit(OWLObjectMaxCardinality desc)
Set< OWLVisitorForRestrictionData.CardinalityData > cardinalityData
Data class for hasValue restriction.
Class collect information about restrictions.
Set< OWLVisitorForRestrictionData.HasValueData > getHasValueData()