Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tool for Ontology Paraphrasing, Querying and Visualization on the Semantic Web Project By Senthil Kumar K 200637041 III MCA (SS)‏

Similar presentations


Presentation on theme: "Tool for Ontology Paraphrasing, Querying and Visualization on the Semantic Web Project By Senthil Kumar K 200637041 III MCA (SS)‏"— Presentation transcript:

1 Tool for Ontology Paraphrasing, Querying and Visualization on the Semantic Web Project By Senthil Kumar K 200637041 III MCA (SS)‏

2 Guides Details

3 Objective The objective of this project is to develop a tool for Paraphrasing and Querying with Visualization from an ontology.

4 Block Diagram OWL Graph Construction ParaPhraser Query Processor Visualizer Ontology Owl File OWL Graph Data Structure OWL Graph Data Structure QueryQuery Result Summary

5 Modules Paraphraser Query Processor Visualizer OWL Graph Constructor

6 Modules Completed OWL Graph Constructor OWL Graph Visualizer

7 OWL Graph Construction It reads the ontology from the file specified in the URL and loads into ontology model. From the ontology model all the owl elements are converted to Vertices and the relationships are converted to Edges. Adds all the Vertices and Edges to the Graph.

8 Sample Input : Countries.owl

9 Sample Output Graph Data Structure CountryIndependentStateIndiaPakistanhasCountryAttribhasPopulation CountrysubClassOfhasInstance IndependentStatesuperClassOf IndiaIndividualOf PakistanIndividualOf hasCountryAttribdomainOf hasPopulationdomainOfsubPropertyOf

10 Pseudo Code INITIALIZE CLASSES HASH MAP INITIALIZE PROPERTIES HASH MAP INITIALIZE INDIVIDUALS HASH MAP INITIALIZE RELATIONSHIPEDGES HASHMAP LET ANONYMOUSCLASS_SEQ_NO=0 CREATE AN EMPTY GRAPH GET THE FILE URL OF THE OWL FILE IF THE FILE IS AVAILABLE THEN OPEN URL NETWORK CONNECTION TO THE DESTINATION FILE READ THE FILE CONTENTS INTO THE ONTOLOGY MODEL FROM THE REMOTE STREAM FOR EACH CLASS IN THE CLASSES AVAILABLE IN THE ONTOLOGY MODEL IF THAT CLASS IS NOT AVAILABLE IN THE CLASSES HASH MAP THEN CREATE A OWL VERTEX WITH THAT CLASS AS ITS COMPONENT PUT THE OWLVERTEX IN THE CLASSES HASHMAP ADD THE CREATED OWL VERTEX TO THE GRAPH

11 Pseudo Code : Contd. FOR EACH SUBCLASS OF THE CURRENT CLASS IF THAT SUBCLASS IS NOT AVAILABLE IN THE CLASSES HASH MAP THEN CREATE A OWL VERTEX WITH THAT SUBCLASS AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE CLASSES HASHMAP ELSE GET THE REFERENCE OF THE SUBCLASS VERTEX FROM THE CLASSES HASHMAP END IF IF NO RELATIONSHIP EDGE EXISTS BETWEEN CLASS VERTEX AND SUBCLASSVERTEX CREATE AN EDGE BETWEEN THE CLASS VERTEX AND SUBCLASSVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR FOR EACH EQUIVALENTCLASS OF THE CURRENT CLASS IF THAT EQUIVALENTCLASS IS NOT AVAILABLE IN THE CLASSES HASH MAP THEN CREATE A OWL VERTEX WITH THAT EQUIVALENTCLASS AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE CLASSES HASHMAP

12 Pseudo Code ELSE GET THE REFERENCE OF THE SUBCLASS VERTEX FROM THE CLASSES HASHMAP END IF IF NO RELATIONSHIP EDGE EXISTS BETWEEN CLASS VERTEX AND SUBCLASSVERTEX CREATE AN EDGE BETWEEN THE CLASS VERTEX AND SUBCLASSVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR FOR EACH SUPERCLASS OF THE CURRENT CLASS IF THAT SUPERCLASS IS NOT AVAILABLE IN THE CLASSES HASH MAP THEN CREATE A OWL VERTEX WITH THAT SUPERCLASS AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE CLASSES HASHMAP ELSE GET THE REFERENCE OF THE SUPERCLASS VERTEX FROM THE CLASSES HASHMAP END IF IF NO RELATIONSHIP EDGE EXISTS BETWEEN CLASS VERTEX AND SUBCLASSVERTEX CREATE AN EDGE BETWEEN THE CLASS VERTEX AND SUBCLASSVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR

13 Pseudo Code : Contd. FOR EACH COMPLEMENTOF TYPE CLASS OF THE CURRENT CLASS IF THAT COMPLEMENTOF TYPE IS NOT AVAILABLE IN THE CLASSES HASH MAP THEN CREATE A OWL VERTEX WITH THAT COMPLEMENTOF TYPE CLASS AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE CLASSES HASHMAP ELSE GET THE REFERENCE OF THE COMPLEMENTOF TYPE CLASS VERTEX FROM THE CLASSES HASHMAP END IF IF NO RELATIONSHIP EDGE EXISTS BETWEEN CLASS VERTEX AND SUBCLASSVERTEX CREATE AN EDGE BETWEEN THE CLASS VERTEX AND SUBCLASSVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR CRAETE AN ANONYMOUS CLASS TYPE OWL VERTEX WITH ANONYMOUS_SEQ_NO AS LABEL LET ANONYMOUS_SEQ_N0=ANONYMOUS_SEQ_NO + 1 FOR EACH INTERSECTIONOF TYPE CLASS OF THE CURRENT CLASS IF THAT INTERSECTIONOF TYPE CLASS IS NOT AVAILABLE IN THE CLASSES HASH MAP THEN CREATE A OWL VERTEX WITH THAT INTERSECTIONOF TYPE AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE CLASSES HASHMAP ELSE

14 Pseudo Code : Contd. GET THE REFERENCE OF THAT INTERSECTIONOF TYPE CLASS FROM THE CLASSES HASHMAP END IF IF NO RELATIONSHIP EDGE EXISTS BETWEEN CLASS VERTEX AND ANONYMOUS CLASSVERTEX CREATE AN EDGE BETWEEN THE CLASS VERTEX AND ANONYMOUS CLASSVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGE HASHMAP END IF NEXT FOR CREATE AN RELATIONSHIP EDGE BETWEEN OWL CLASS VERTEX AND THE ANONYMOUS CLASS VERTEX PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP CRAETE AN ANONYMOUS CLASS TYPE OWL VERTEX WITH ANONYMOUS_SEQ_NO AS LABEL LET ANONYMOUS_SEQ_N0=ANONYMOUS_SEQ_NO + 1 FOR EACH INTERSECTIONOF TYPE CLASS OF THE CURRENT CLASS IF THAT INTERSECTIONOF TYPE CLASS IS NOT AVAILABLE IN THE CLASSES HASH MAP THEN CREATE A OWL VERTEX WITH THAT INTERSECTIONOF TYPE AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE CLASSES HASHMAP ELSE GET THE REFERENCE OF THAT INTERSECTIONOF TYPE CLASS FROM THE CLASSES HASHMAP END IF

15 Pseudo Code : Contd. IF NO RELATIONSHIP EDGE EXISTS BETWEEN CLASS VERTEX AND ANONYMOUS CLASSVERTEX CREATE AN EDGE BETWEEN THE CLASS VERTEX AND ANONYMOUS CLASSVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGEMAP END IF NEXT FOR CREATE AN RELATIONSHIP EDGE BETWEEN OWL CLASS VERTEX AND THE ANONYMOUS CLASS VERTEX PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR FOR EACH PROPERTY IN THE PROPERTIES AVAILABLE IN THE ONTOLOGY MODEL IF THAT PROPERTY IS NOT AVAILABLE IN THE PROPERTIES HASH MAP THEN CREATE A OWL VERTEX WITH THAT PROPERTY AS ITS COMPONENT PUT THE OWLVERTEX IN THE PROPERTIES HASHMAP ADD THE CREATED OWL VERTEX TO THE GRAPH GET THE REFRENCE OF THE DOMAIN CLASS OF THE PROPERTY FROM THE CLASSES HASHMAP CREATE AN RELATIONSHIP EDGE BETWEEN PROPERTY AND THE DOMAIN CLASS PUT THE RELATIONSHIPS EDGE INTO THE EDGES HASHMAP

16 Pseudo Code : Contd. FOR EACH SUBPROPERTY OF THE CURRENT PROPERTY IF THAT SUBPROPERTY IS NOT AVAILABLE IN THE PROPERTIES HASH MAP THEN CREATE A OWL VERTEX WITH THAT SUBPROPERTY AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE PROPERTIES HASHMAP ELSE GET THE REFERENCE OF THE SUBPROPERTY VERTEX FROM THE PROPERTIES HASHMAP END IF IF NO RELATIONSHIP EDGE EXISTS BETWEEN PROPERTY VERTEX AND SUBPROPERTYVERTEX CREATE A RELATIONSHIP EDGE BETWEEN THE PROPERTY VERTEX AND SUBPROPERTYVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR FOR EACH EQUIVALENTPROPERTY OF THE CURRENT PROPERTY IF THAT EQUIVALENTPROPERTY IS NOT AVAILABLE IN THE PROPERTIES HASH MAP THEN CREATE A OWL VERTEX WITH THAT EQUIVALENTPROPERTY AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE PROPERTIES HASHMAP ELSE GET THE REFERENCE OF THE SUBPROPERTY VERTEX FROM THE PROPERTIES HASHMAP END IF

17 Pseudo Code : Contd. IF NO RELATIONSHIP EDGE EXISTS BETWEEN PROPERTY VERTEX AND SUBPROPERTY VERTEX CREATE A RELATIONSHIP EDGE BETWEEN THE PROPERTY VERTEX AND SUBPROPERTYVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR FOR EACH SUPERPROPERTY OF THE CURRENT PROPERTY IF THAT SUPERPROPERTY IS NOT AVAILABLE IN THE PROPERTIES HASH MAP THEN CREATE A OWL VERTEX WITH THAT SUPERPROPERTY AS ITS COMPONENT ADD THE CREATED OWL VERTEX TO THE GRAPH PUT THE OWLVERTEX IN THE PROPERTIES HASHMAP ELSE GET THE REFERENCE OF THE SUPERPROPERTY VERTEX FROM THE PROPERTIES HASHMAP END IF IF NO RELATIONSHIP EDGE EXISTS BETWEEN PROPERTY VERTEX AND SUBPROPERTYVERTEX CREATE A RELATIONSHIP EDGE BETWEEN THE PROPERTY VERTEX AND SUBPROPERTYVERTEX ADD THAT RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE RELATIONSHIP EDGES HASHMAP END IF NEXT FOR END IF NEXT FOR

18 Pseudo Code : Contd. FOR EACH INDIVIDUAL IN THE INDIVIDUALS AVAILABLE IN THE ONTOLOGY MODEL IF THAT INDIVIDUAL IS NOT AVAILABLE IN THE PROPERTIES HASH MAP THEN CREATE A OWL VERTEX WITH THAT INDIVIDUAL AS ITS COMPONENT PUT THE OWLVERTEX IN THE INDIVIDUALS HASHMAP ADD THE CREATED OWL VERTEX TO THE GRAPH GET THE REFERENCE OF CLASS OF THE INDIVIDUAL FROM THE CLASSES HASHMAP CREATE AN RELATIONSHIP EDGE BETWEEN INDIVIDUAL AND THE CLASS VERTEX ADD THE RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIPS EDGE INTO THE EDGES HASHMAP END IF FOR EACH PROPERTVALUE OF THE INDIVIDUAL CREATE LITERAL VERTEX ADD THE CREATED LITERAL VERTEX TO THE GRAPH CREATE A RELATIONSHIP EDGE BETWEEN THE INDIVIDUAL AND THE LITERAL VERTEX ADD THE RELATIONSHIP EDGE TO THE GRAPH PUT THE RELATIONSHIP EDGE INTO THE EDGES HASHMAP NEXT FOR END IF

19 Visualizer Renders the graph by following a layout. Maps the Icons to be used for each owl graph vertex. Maps the arrow styles for each edge based on the relationship type. Maps the labels for each of the owl vertices and owl edges with local names of owl elements and the type of relationship.

20 Sample Input: CountryIndependentStateIndiaPakistanhasCountryAttr ib hasPopulation CountrysubClassOfhasInstance IndependentStatesuperClassOf IndiaIndividualOf PakistanIndividualOf hasCountryAttribdomainOf hasPopulationdomainOfsubPropertyOf Graph Data Structure

21 Sample Output: C C Country Independent State II IndiaPakistan SubClassOf IndividualOf P P hasPopulation hasCountryAttrib domain SubPropertyOf

22 Pseudo Code: IF GRAPH IS NOT EMPTY FOR EACH OWL VERTEX IN OWL GRAPH SWITCH(OWLVERTEX) CASE OWLCLASS: MAP IT TO CLASS ICON SET CLASS LOCALNAME AS LABEL OF THE VERTEX CASE OWLPROPERTY MAP IT TO PROPERTY ICON SET PROPERTY LOCALNAME AS LABEL OF THE VERTEX CASE OWLINDIVIDUAL MAP IT TO INDIVIDUAL ICON SET INDIVIDUAL LOCALNAME AS LABEL OF THE VERTEX CASE OWLLITERAL MAP IT TO LITERAL ICON SET LITERAL LOCALNAME AS LABEL OF THE VERTEX CASE ANONYMOUSS CLASS MAP IT TO ANONYMOUS CLASS ICON SET ANONYMOUS CLASS SEQUENCE NUMBER AS LABEL OF THE VERTEX CASE ELSE MAP IT TO UNKNOWN ICON SET IT TO "UNKNOWN" AS LABEL FOR THE VERTEX END SWITCH NEXT FOR

23 Pseudo Code: Contd. FOR EACH RELATIONSHIP EDGE IN GRAPH SOURCE = SOURCE OWL VERTEX OF RELATIONSHIP EDGE DEST= SOURCE OWL VERTEX OF RELATIONSHIP EDGE IF(SOURCE IS OWL CLASS AND DEST IS OWL CLASS) SWITCH (RELATIONSHIP) CASE "SUBCLASSOF" MAP THE EDGE TO SUB-CLASS ARROW ICON SET THE EDGE LABEL AS "SUB-CLASS-OF" CASE "SUPERCLASSOF" MAP THE EDGE TO SUPER-CLASS ARROW ICON SET THE EDGE LABEL AS "SUPER-CLASS-OF" CASE "EQUIVALENTOF" MAP THE EDGE TO EQUIVALENT-CLASS ARROW ICON SET THE EDGE LABEL AS "SUPER-CLASS-OF" ……. END SWITCH END IF IF(SOURCE IS OWL PROPERTY AND DEST IS OWL CLASS || SOURCE IS OWLCLASS AND DEST IS OWLPROPERTY) SWITCH (RELATIONSHIP) CASE "SUBPROPERTOF" MAP THE EDGE TO SUB-PROPERTY ARROW ICON SET THE EDGE LABEL AS "SUB-PROPERTY-OF"

24 Pseudo Code: Contd. CASE "SUPERPROPERTYOF" MAP THE EDGE TO SUPER-PROPERTY ARROW ICON SET THE EDGE LABEL AS "SUPER-PROPERTY-OF" CASE "EQUIVALENTPROPERTY" MAP THE EDGE TO EQUIVALENT-PROPERTY ARROW ICON SET THE EDGE LABEL AS "SUPER-PROPERTY-OF". END SWITCH END IF IF(SOURCE IS CLASS AND DEST IS INDIVIDUAL) MAP THE EDGE TO INDIVIDUAL-OF icon SET THE LABEL OF THE EDGE AS "INDIVIDUAL-OF" END IF SET THE OWLEDGE FONT DRAW THE GRAPH BY APPLYING A LAYOUT NEXT FOR END IF

25 Actual Output of the Project: for Camera.owl

26 Query Processor Validates the SPARQL query and executes it on the query engine. Renders the textual output on the screen Creates filters to apply the conditions specified in the query. Traverses the graph and applies all the filters created then results a sub-graph.

27 Query Processor: Algorithm INITIALIZE PRIORITY QUEUE GET SPARQL QUERY FROM THE USER VALIDATE THE QUERY IF VALID THEN EXECUTE THE QUERY ON THE ONTOLOGY MODEL OUTPUT THE TEXTUAL RESULT FOR EACH CONDITION ON THE QUERY CREATE A FILTER FOR THAT CONDITION ADD THAT FILTER TO THE FILTERS PRIORITY QUEUE NEXT FOR SORT THE FILTER BASED ON THE QUERY ORDERING PROCESS GET THE MAIN OWL GRAPH REFERENCE COPY THE OWL GRAPH TO A NEW OWL GRAPH WHILE (GRAPH TRAVERSAL IS NOT DONE) FOR EACH FILTER IN THE FILTERS PRIORITY QUEUE APPLY THE FILTER ON THE NEW OWL GRAPH PERSIST THE CHANGES MADE ON THE NEW OWL GRAPH REMOVE THE UN-USED EDGES. NEXT FOR END WHILE RENDER THE RESULTANT OWL GRAPH IN A NEW PANE END IF

28 Paraphraser Steps: Document Planning Content Selection : Specify maximum allowed distance in graph. Text Planning : Ordering of facts at various distances. Micro Planning Micro plans are templates with numerous slots and fillers for these slots. Lexicalization : Specify single sentence for each fact. Aggregation : Multiple sentences aggregated to improve readability. Surface Realization Grammar used to fill up missing information.

29 Paraphraser Algorithm GET THE CONCEPT OR INDIVIDUAL TO FOCUS GET THE DISTANCE TO COVER AROUND THE VERTEX CREATE AN EMPTY SUBGRAPH WHILE(GRAPH TRAVERSAL NOT EVER) ADD NODES OF THE MAIN GRAPH WHICH IS AT DISTANCE OR LESS THAN THE DISTANCE IF AN EDGE(V1,V2) EXISTS AND BOTH V1 AND V2 ARE AT DISTANCE THEN ADD THAT EDGE OF THE MAIN GRAPH TO THE SUB GRAPH END IF END WHILE VISUALIZE THE GRAPH WHILE(GRAPH TRAVERSAL IS NOT OVER) FIND THE FACT THEN MATCH THAT FACT WITH ALREADY CREATED TEMPLATES APPLY THE TEMPLATE TO CREATE SENTENCES. END WHILE AGGREGATE THE SENTENCES INTO PARAGRAPH. VALIDATE THE SENTENCES WITH GRAMMAR. RETURN THE GENERATED SUMMARY

30 Planned Schedule for the remaining Modules Module Deadline Query Processor : 03-APR-2009 Paraphraser : 17-APR-2009

31 References 1) OWL Web Ontology Language Guide: http://www.w3.org/TR/owl-guide 2) SPARQL: http://www.w3.org/TR/rdf-sparql-query 3) “Generating Natural Language Descriptions from OWL Ontologies” - Ion Androutsopoulos1,2 and Dimitrios Galanis1 4) “Speech and Language Processing”, ISBN 81-7808-594-1 - Daniel Jurafsky and James H.Martin 5) “Systemic Functional Linguistics” - http://www.isfla.org/Systemics/ 6) “Systemic Functional Grammar” http://minerva.ling.mq.edu.au/resource/VirtuallLibrary /Publications/sfg_firststep/SFG%20intro%20New.html 7) “Paraphrasing from ontology” http://www.mindswap.org/papers/nlpowl.pdfhttp://www.w3.org/TR/owl-guide http://www.w3.org/TR/rdf-sparql-queryhttp://www.isfla.org/Systemics/ http://minerva.ling.mq.edu.au/resource/VirtuallLibrary http://www.mindswap.org/papers/nlpowl.pdf

32


Download ppt "Tool for Ontology Paraphrasing, Querying and Visualization on the Semantic Web Project By Senthil Kumar K 200637041 III MCA (SS)‏"

Similar presentations


Ads by Google