25.10.2014 Views

Thesis full text (PDF) - Politecnico di Milano

Thesis full text (PDF) - Politecnico di Milano

Thesis full text (PDF) - Politecnico di Milano

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

upon these axioms. If no selection con<strong>di</strong>tion is applied, it extracts all the classes in the<br />

knowledge base.<br />

ClassWithNominal<br />

- PValue [1..*]: String<br />

- BooleanOperator : String<br />

create(): void<br />

destroy(): void<br />

set(s:String[], b: String): void<br />

getClasses(): String []<br />

ClassIsUnsatisfiable<br />

- IsUnsatisfiable : Boolean<br />

create(): void<br />

destroy(): void<br />

set(s:String): void<br />

getClasses(): String []<br />

0..1<br />

0..1<br />

1<br />

1<br />

Class Component<br />

- Description [0..*] : String<br />

- conjunction(s: String [][]) : String []<br />

+ query(s: String[][]) : String []<br />

1 1<br />

1<br />

1<br />

1<br />

1<br />

0..1<br />

0..1<br />

ClassDomainOfProperty<br />

- Property [1..*] : String<br />

- BooleanOperator : String<br />

create(): void<br />

destroy(): void<br />

set(s:String[], b: String): void<br />

getClasses(): String []<br />

ClassTypeOfProperty<br />

- Property [1..*] : String<br />

- BooleanOperator : String<br />

create(): void<br />

destroy(): void<br />

set(s:String[], b: String): void<br />

getClasses(): String []<br />

ClassOfName<br />

- Name [1..*] : String<br />

0..1<br />

create(): void<br />

destroy(): void<br />

set(s:String []): void<br />

getClasses(): String []<br />

ClassDisjointOfClass<br />

- Class [1..*] : String<br />

- BooleanOperator : String<br />

create(): void<br />

destroy(): void<br />

set(s:String[], b: String): void<br />

getClasses(): String []<br />

0..1 0..1 0..1<br />

ClassOfInstance<br />

- Instance [1..*] : String<br />

- BooleanOperator : String<br />

create(): void<br />

destroy(): void<br />

set(s:String[], b: String): void<br />

getClasses(): String []<br />

ClassOfDirectInstance<br />

- Instance [1..*] : String<br />

- BooleanOperator : String<br />

create(): void<br />

destroy(): void<br />

set(s:String[], b: String): void<br />

getClasses(): String []<br />

Figure 3.1: Class Component<br />

The Class Component is depicted in figure 3.1 as a UML class <strong>di</strong>agram. Each composition<br />

in<strong>di</strong>cates a selection con<strong>di</strong>tion to be applied for the extraction of classes: ClassOfName extracts<br />

classes by name, ClassDisjointOfClass extract the classes being <strong>di</strong>sjoint to some values,<br />

ClassDomainOfProperty and ClassTypeOfProperty extract the definition for the given<br />

properties, ClassOfInstance and ClassOfDirectInstance retrieve the classes being instantiated<br />

(in<strong>di</strong>rectly or <strong>di</strong>rectly) by these values, ClassWithNominal extracts the classes containing the<br />

given nominals, and ClassIsUnsatisfiable retrieves the classes that cannot be instantiated.<br />

The invocation of the component is made with the query method defined in the Class Component<br />

class receiving the selection values if any. The Class Component object is responsible to create<br />

the objects of the necessary selection con<strong>di</strong>tions, initiate their value, get the classes, and destroy<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!