it.polito.elite.visualization.ontoviewer.models
Class KnowledgeBaseModel

java.lang.Object
  extended by it.polito.elite.visualization.ontoviewer.models.KnowledgeBaseModel

public class KnowledgeBaseModel
extends java.lang.Object

Used to enrich the default data model built by the ontology abstraction faclity, that relies on API like prot�g� or jena. In particular DataModel class retrieves the incoming relations (between concepts and between instances)

Author:
Alessio

Field Summary
private static java.lang.String coloredItemAnnotationURI
           
private  java.util.Hashtable<java.lang.String,ConceptData> concepts
           
private  java.util.Hashtable<java.lang.String,InstanceData> instances
           
private  java.util.Hashtable<java.lang.String,java.util.HashSet<java.lang.String>> logicalViews
           
private static java.lang.String logicViewAnnotationURI
           
private  OntologyAbstraction onto
           
private  java.util.HashSet<java.lang.String> roots
           
private  javax.swing.JTree tree
           
 
Constructor Summary
KnowledgeBaseModel(edu.stanford.smi.protege.model.KnowledgeBase kb)
           
 
Method Summary
private  void addRestrictionsToOutgoingRelations(java.lang.String uri, ConceptData concept)
          Adds the logical restrictions specified for a given concept to its object properties.
private  void cecksConceptMembershipToViews(java.lang.String uri)
           
private  void compactOutgoingRelations(ConceptData concept)
           
 void confirmLogicViewSupport()
           
private  ConceptData deepFirstTreeVisit(OntologyAbstraction onto, java.lang.String uri, int lvl, java.lang.String parent, javax.swing.tree.DefaultMutableTreeNode parentNode)
          Recursive exploration procedure triggered by loadNodes
 void deleteView(java.lang.String viewID)
           
 ConceptData getConceptData(java.lang.String conceptUri)
           
 InstanceData getInstanceData(java.lang.String instanceUri)
           
 edu.stanford.smi.protegex.owl.model.OWLModel getOWLModel()
           
 java.util.Hashtable<java.lang.String,RelationType> getRelationTypes()
           
 java.util.HashSet<java.lang.String> getRoots()
           
 int getRootsNumber()
           
 javax.swing.JTree getTree()
           
 java.util.HashSet<java.lang.String> getViewElements(java.lang.String viewID)
           
 java.util.Set<java.lang.String> getViews()
           
private  javax.swing.JTree loadNodes()
           
private  void loadRelationsData()
           
 java.util.HashSet<NodeTypeAbstraction> query(java.lang.String queryText, QueryLanguageEnum queryLang, int queryType)
           
 void removeColorToRelation(java.lang.String relURI)
           
 java.util.Set<java.lang.String> retrieveAllInstancesOf(java.lang.String uri)
           
private  void retrieveIncomingFacts()
          Infers & Set the incoming facts of every instances from the outgoing ones
private  void retrieveIncomingLinks()
           
private  void retrieveIncomingObjProperties()
          Infers & Set the incoming ObjectProperties of every node from the outgoing ones
 void saveViewElements(java.lang.String viewID, java.util.HashSet<java.lang.String> concepts)
           
 void setColorToRelation(java.lang.String relURI, java.awt.Color col)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

coloredItemAnnotationURI

private static java.lang.String coloredItemAnnotationURI

concepts

private java.util.Hashtable<java.lang.String,ConceptData> concepts

instances

private java.util.Hashtable<java.lang.String,InstanceData> instances

logicalViews

private java.util.Hashtable<java.lang.String,java.util.HashSet<java.lang.String>> logicalViews

logicViewAnnotationURI

private static java.lang.String logicViewAnnotationURI

onto

private OntologyAbstraction onto

roots

private java.util.HashSet<java.lang.String> roots

tree

private javax.swing.JTree tree
Constructor Detail

KnowledgeBaseModel

public KnowledgeBaseModel(edu.stanford.smi.protege.model.KnowledgeBase kb)
                   throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

addRestrictionsToOutgoingRelations

private void addRestrictionsToOutgoingRelations(java.lang.String uri,
                                                ConceptData concept)
Adds the logical restrictions specified for a given concept to its object properties. it simply adds them without any check. The model is considered correct (it doesn't check conflicts between ALL values FROM and SOME values FROM or HAS VALUE)

Parameters:
uri - The Uri of the concept
concept - Its ConceptData

cecksConceptMembershipToViews

private void cecksConceptMembershipToViews(java.lang.String uri)

compactOutgoingRelations

private void compactOutgoingRelations(ConceptData concept)

confirmLogicViewSupport

public void confirmLogicViewSupport()

deepFirstTreeVisit

private ConceptData deepFirstTreeVisit(OntologyAbstraction onto,
                                       java.lang.String uri,
                                       int lvl,
                                       java.lang.String parent,
                                       javax.swing.tree.DefaultMutableTreeNode parentNode)
Recursive exploration procedure triggered by loadNodes


deleteView

public void deleteView(java.lang.String viewID)

getConceptData

public ConceptData getConceptData(java.lang.String conceptUri)

getInstanceData

public InstanceData getInstanceData(java.lang.String instanceUri)

getOWLModel

public edu.stanford.smi.protegex.owl.model.OWLModel getOWLModel()

getRelationTypes

public java.util.Hashtable<java.lang.String,RelationType> getRelationTypes()

getRoots

public java.util.HashSet<java.lang.String> getRoots()

getRootsNumber

public int getRootsNumber()

getTree

public javax.swing.JTree getTree()

getViewElements

public java.util.HashSet<java.lang.String> getViewElements(java.lang.String viewID)

getViews

public java.util.Set<java.lang.String> getViews()

loadNodes

private javax.swing.JTree loadNodes()

loadRelationsData

private void loadRelationsData()

query

public java.util.HashSet<NodeTypeAbstraction> query(java.lang.String queryText,
                                                    QueryLanguageEnum queryLang,
                                                    int queryType)

removeColorToRelation

public void removeColorToRelation(java.lang.String relURI)

retrieveAllInstancesOf

public java.util.Set<java.lang.String> retrieveAllInstancesOf(java.lang.String uri)

retrieveIncomingFacts

private void retrieveIncomingFacts()
Infers & Set the incoming facts of every instances from the outgoing ones


retrieveIncomingLinks

private void retrieveIncomingLinks()

retrieveIncomingObjProperties

private void retrieveIncomingObjProperties()
Infers & Set the incoming ObjectProperties of every node from the outgoing ones


saveViewElements

public void saveViewElements(java.lang.String viewID,
                             java.util.HashSet<java.lang.String> concepts)

setColorToRelation

public void setColorToRelation(java.lang.String relURI,
                               java.awt.Color col)