Sunday, April 22, 2007

Status of the Implementation of Demo (FICSR)

The demo is composed of the following parts[1]:

I. Read coding information (text) and Construction of Hierarchical Ontology

A. Modify Maria’s code, and integrate it into the demo; (10%)

B. Store the hierarchical structure with the OWL file. (0%)

II. Import and Export OWL file.

A. Read OWL file

1. Status: done.

B. Parse OWL file and Extract important information, including

Item

Status

Class

Done

individual (members of class)

Done

subClassOf

done

instanceOf

done

data property

to do

property characteristics and restricts

to do maybe

...

...

C. Visualization of Ontology

1. Status: almost done, something to be improved includes

a) the direction of the edge

b) the optimization of the layout (should be more beautiful)

D. Export ontology to OWL file

1. Status: to do, the future work includes

a) convert the constraints introduced by our algorithm, like exclusive choice, coordinated choices etc., into some suitable forms satisfying OWL syntax.

b) export all of results into a well-format OWL file.

c) find a way how to represent the USER's integrity constraint in the OWL file

III. Matching Ontologies

A. Automatic matching

1. Text similarity based matching

a) extract all names of items (class, individual ...), status: done

b) match items in different ontologies (OWL files), status: done

(1) stemming,

(2) comparison

2. Visualization of the matches

a) use a table to display all text matches

(Status: done 95%)

(1) user can decide which matches are useful, or not.

B. Manual matching

1. User can decide which pair of vertices (one to one matching) in different ontologies is matched, through the visual representation of the ontologies. (Status:done 85%)

2. Other kinds of manual matching (one to many, or many to many matching), (Status: to do???)

C. Matching items in different ontologies based on Kim's algorithm (Status: to do)

1. I checked the definition of the OWL file. It seems that no items in the same owl file can have the same name/identity.

IV. Merging Ontologies

A. Integrate different ontologies based on the matching from the previous step, by introducing such constraints as

1. exclusive choice, (status: done)

2. coordinated positive choice, (status: done 95%)

3. coordinated negative choice, (status: to do, user involved)

B. Visualize these constraints in the integrated view,

1. exclusive choice, status, (done)

2. coordinated positive/negative choices, (status: done 80% except negative choice)

V. Zonal Conflicts Identification and Agreement Computation

A. Zone Identification (Status: done)

B. Zone Visualization (Status: to do soon)

C. Agreement Computation

1. Status: done 95%. (enumeration of all models)

VI. Visualization of the Integrated Graph with Agreements

A. Remove virtual vertices introduced by the constraints (exclusive choice, coordinated choices, etc.) (Status: done)

B. Connect sources and sinks in the zone with edge associated with agreement (Status: done)

C. Visualize the integrated view. (Status: done)

VII. Path Query Processing and Results Visualization

A. Parsing query expression

1. extract information and analyze the components in the path. (Status: done)

B. Evaluating the query

1. Using "JOIN" mechanism

a) find the shortest paths among 2 vertices (status: done)

b) JOIN the results together, (status: to do soon, maybe)

(1) one question here is how to rank the final results. Note that the shortest path here is only applied for a pair of vertices, not a serial of vertices;

(2) additionally, the wildcard '//' and the star '*' should be also corrected handled.

2. Using "Spanning Tree" to process the complex path query (status: to do)

VIII. Conflicts Analysis and Fuzzy Program Generation

A. Analyze different types of conflicts in the results

1. Zonal Conflicts

a) find zonal conflicts in one pair of paths; (status: done 96%)

2. Path Integrity Conflicts

a) final acyclic conflicts in any pair of paths; (status: done 95%)

b) on the other hand, when other kinds of path conflicts are concerned, like the order of vertices in the path, it's a little complex, since the concerned ontology could be arbitrary rather than a binary tree. (status: to do ???)

B. Generate the Lingo fuzzy program based on the conflicts

1. Generate Lingo fuzzy program based on the conflicts; (status: done 95%)

a) it could be improved when more conflicts are considered.

IX. Solve Fuzzy Program and Update the Agreement Values

A. The fuzzy program is run and the result is achieved. (status: done 95%)

B. The results are analyzed and agreement of edges are updated. (status: done 90%)

X. Visualization of the Update

A. The updated agreements are displayed to the user (status: to do soon)

XI. Feedback from the Use (status: to do soon)

A. Adjust the weights in the fuzzy program code

B. Change the ranking of the results,

C. Give positive or negative response to some results for the path query.



[1] Note that, I list all potential tasks (hopefully), for each of which a status is associated with. The status includes

1. done, completed;

2. almost done, bugs existing.

3. to do soon, will complete in future with higher priority;

4. to do, will complete in future.

5. On the other hand, we also use property to represent the completion, where 100% means it’s completed, and 0% means it could be done in future.

Status of the Implementation of Demo

The report is a simple version of the status of our demo. More details could be found in the other report. Here we exploit property from 0% to 100% to measure the completion of the functions in the demo. Thus, 100% means it’s done; and 0% means it could be done in the future.

  1. Generate Ontology and Export to OWL

1) Construct the hierarchical structure based on Maria’s work. (10%)

2) Export the hierarchical structure to OWL file. (1%)

  1. Import Data
  2. Data Matching and Merging

1) Data matching (80%)

2) Data merging (50%)

  1. Conflicts Resolution

1) Zone identification (95%)

2) Zonal conflicts (95%)

3) Path query evaluation / enumeration (95%)

4) Integrity constraints

a. Specifications of conflicts (zonal conflict, acyclicity conflict)

b. Computations of degree of conflicts (90%)

5) Fuzzy program generation (95%)

6) Feedback to the user (20%)

7) User’s feedback (10%)