Package edu.pitt.ontology

Examples of edu.pitt.ontology.IClass


   */
  public static boolean isOfParent(IClass cls,String parent){
    if(cls == null)
      return false;
    IOntology o = cls.getOntology();
    IClass p = o.getClass(parent);
    return cls.equals(p) || cls.hasSuperClass(p);
  }
View Full Code Here


    if(featureMap.containsKey(cls))
      return featureMap.get(cls);
   
   
    // feature is the class itself by default
    IClass parent = cls;
    for(IClass p: cls.getDirectSuperClasses()){
      if(SlideTutorOntologyHelper.isSystemClass(p))
        continue;
     
      // if direct super class is more general, then lets look further
      // once in a blue moon, we have a direct superclass not being in general form, but its parent is
      // Ex:  Infectious_Cause -> Bacterial_Infectious_Cause -> Actinomycotic_Infectious_Cause
      if(isFeature(p) && (isGeneralForm(p,cls,false) || isGeneralForm(getFeature(p),cls,false))){
        // reset feature if it is equal to class or it is NOT preposition
        if(parent.equals(cls) || isGeneralForm(p,cls,true))
          parent = getFeature(p);
        //break;
      }
    }
   
View Full Code Here

   */
  public static List<IClass> getAttributes(IClass cls){
    List<IClass> list = new ArrayList<IClass>();
   
    // if feature is itself, don't bother
    IClass feature = getFeature(cls);
    if(feature.equals(cls))
      return list;
   
    for(IClass p: cls.getSuperClasses()){
      if(isNamedAttribute(p) || isNumber(p)){
        // make sure that list contains only the most specific attributes
        // we don't want four AND number appearing here
        IClass torem = null;
        for(IClass c: list){
          if(p.hasSubClass(c)){
            // do not insert a more general class
            torem = p;
          }else if(p.hasSuperClass(c)){
View Full Code Here

   * @param cls
   * @return
   */
  public static List<IClass> getPotentialAttributes(IClass cls){
    Set<IClass> list = new LinkedHashSet<IClass>();
    IClass feature = getFeature(cls);
    for(IClass p: feature.getSubClasses()){
      if(feature.equals(getFeature(p)))
        list.addAll(getAttributes(p));
    }
    return new ArrayList<IClass>(list);
  }
View Full Code Here

   * @param cls
   * @return
   */
  public static List<IClass> getPotentialTemplateAttributes(IClass cls){
    Set<IClass> list = new LinkedHashSet<IClass>();
    IClass feature = getFeature(cls);
    if(!feature.equals(cls)){
      list.addAll(getAttributes(cls));
    }
    for(IClass p: cls.getSubClasses()){
      if(feature.equals(getFeature(p)))
        list.addAll(getAttributes(p));
    }
    return new ArrayList<IClass>(list);
  }
View Full Code Here

   * @param c
   * @return
   */
  private static IClass getDirectParent(IClass c){
    // check if direct parent is already part of the rule
    IClass parent = null;
    for(IClass p: c.getDirectSuperClasses()){
      if(isDiagnosticFeature(p)){
        parent = p;
        break;
      }
View Full Code Here

  public static List<IClass> getCommonConcepts(List<IClass> concepts){
    // compact concept list until it stops changing size
    int previousSize = 0;
    while(concepts.size() != previousSize){
      previousSize = concepts.size();
      IClass previous = null;
      for(IClass entry: new ArrayList<IClass>(concepts)){
        // check if you can merge concepts
        if(previous != null){
          //check if there is a common higher level concept
          IClass common = mergeConcepts(previous, entry,concepts);
          if(common == null){
            //if not,check if there is another higher level concept that can be
            //constructed with components of current concept
          }else{
            entry = common;
View Full Code Here

   * @param previous
   * @param entry
   * @return
   */
  private static IClass mergeConcepts(IClass pc, IClass ec, Collection<IClass> concepts){
    IClass common = getDirectCommonChild(pc,ec);
    if(common != null){
      // update list
      concepts.remove(ec);
      concepts.remove(pc);
      concepts.add(common);
View Full Code Here

      }
    }
    if(cc.size() == 1)
      return cc.get(0);
    else if(cc.size() > 1){
      IClass g = null;
      for(IClass c: cc){
        if(g == null || c.hasSubClass(g))
          g = c;
      }
      return g;
View Full Code Here

      return c1;
    if(c2.hasSubClass(c1))
      return c2;
   
    // if direct parents were not found, recurse further
    IClass parent = null;
    for(IClass c : c1.getDirectSuperClasses()){
      IClass p = getCommonParent(c,c2);
      // keep the most specific parent
      if(parent == null || parent.hasSubClass(p) || (branch != null && branch.hasSubClass(p)))
        parent = p;
    }
   
View Full Code Here

TOP

Related Classes of edu.pitt.ontology.IClass

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.