abstractsyntaxentityrenderer.java
来自「Semantic Web Ontology Editor」· Java 代码 · 共 1,981 行 · 第 1/5 页
JAVA
1,981 行
if ( ind.isAnonymous() ) print("Individual(" ); else print("Individual(" + shortForm(ind.getURI())); if (ind.getAnnotations(reasoner.getOntology()).isEmpty() && ind.getTypes(reasoner.getOntologies()).isEmpty() && ind.getObjectPropertyValues(reasoner.getOntologies()).keySet().isEmpty() && ind.getDataPropertyValues(reasoner.getOntologies()).keySet().isEmpty()) { println(")"); } else { for (Iterator it = ind.getAnnotations(reasoner.getOntology()).iterator(); it.hasNext();) { println(); OWLAnnotationInstance oai = (OWLAnnotationInstance) it.next(); print(TAB + "annotation(" + shortForm(oai.getProperty().getURI()) + " "); /* Just whack out the content */ renderAnnotationContent(oai.getContent()); // print( oai.getContent() ); print(")"); visitor.reset(); oai.accept(visitor); // if (it.hasNext()) { // println(); // } } // println(); for (Iterator it = ind.getTypes(reasoner.getOntologies()).iterator(); it.hasNext();) { println(); OWLDescription eq = (OWLDescription) it.next(); visitor.reset(); eq.accept(visitor); print(TAB + "type(" + visitor.result() + ")"); // if (it.hasNext()) { // println(); // } } Map propertyValues = ind.getObjectPropertyValues(reasoner.getOntologies()); // System.out.println("ZZ: " + ind.getURI()); for (Iterator it = propertyValues.keySet().iterator(); it.hasNext();) { println(); OWLObjectProperty prop = (OWLObjectProperty) it.next(); Set vals = (Set) propertyValues.get(prop); for (Iterator valIt = vals.iterator(); valIt.hasNext();) { // System.out.println("QQ: " + ((OWLIndividual) valIt.next()).getURI()); OWLIndividual oi = (OWLIndividual) valIt.next(); visitor.reset(); oi.accept(visitor); //******************************************************* //changed for Econnections //******************************************************* if(!prop.isLink()){ print(TAB + "value(" + shortForm(prop.getURI()) + " " + visitor.result() + ")"); if (valIt.hasNext()) { println(); } } else{ print(TAB + "value(ForeignIndividual(foreignOntology((" + shortForm(prop.getLinkTarget()) + ")" + shortForm(prop.getURI()) + " " + visitor.result() + ")"); if (valIt.hasNext()) { println(); } } } } Map dataValues = ind.getDataPropertyValues(reasoner.getOntologies()); // System.out.println("ZZ: " + ind.getURI()); for (Iterator it = dataValues.keySet().iterator(); it.hasNext();) { println(); OWLDataProperty prop = (OWLDataProperty) it.next(); Set vals = (Set) dataValues.get(prop); for (Iterator valIt = vals.iterator(); valIt.hasNext();) { // System.out.println("QQ: " + ((OWLIndividual) valIt.next()).getURI()); OWLDataValue dtv = (OWLDataValue) valIt.next(); visitor.reset(); dtv.accept(visitor); print(TAB + "value(" + shortForm(prop.getURI()) + " " + visitor.result() + ")"); if (valIt.hasNext()) { println(); } } // if (it.hasNext()) { // println(); // } } println("\n)"); } } protected void renderAnnotationProperty(OWLAnnotationProperty prop) throws OWLException { println(" <b>AnnotationProperty</b>(" + escape(shortForm(prop.getURI())) + ")"); } protected void renderObjectProperty(OWLObjectProperty prop) throws OWLException { //***************************************** //Changed for Econnections //**************************************** if(!prop.isLink()){ if (editorEnabled) print("ObjectProperty(" + shortForm(prop.getURI())); else print("<b>ObjectProperty</b>(" + escape(shortForm(prop.getURI()))); } else{ if (editorEnabled) { print("LinkProperty(" + shortForm(prop.getURI())); print("foreignOntology(" + shortForm(prop.getLinkTarget()) + ")"); } else { print("<b>LinkProperty</b>(" + escape(shortForm(prop.getURI()))); print("<b> foreignOntology</b>(" + escape(shortForm(prop.getLinkTarget())) + ")"); } } if (prop.isTransitive(reasoner.getOntologies())) { if (editorEnabled) print(" Transitive"); else print(" <i>Transitive</i>"); } if (prop.isFunctional(reasoner.getOntologies())) { if (editorEnabled) print(" Functional"); else print(" <i>Functional</i>"); } if (prop.isInverseFunctional(reasoner.getOntologies())) { if (editorEnabled) print(" InverseFunctional"); else print(" <i>InverseFunctional</i>"); } if (prop.isSymmetric(reasoner.getOntologies())) { if (editorEnabled) print(" Symmetric"); else print(" <i>Symmetric</i>"); } for (Iterator it = prop.getInverses(reasoner.getOntologies()).iterator(); it.hasNext();) { println(); OWLObjectProperty inv = (OWLObjectProperty) it.next(); visitor.reset(); inv.accept(visitor); if (editorEnabled) print(TAB + "inverseOf(" + visitor.result() + ")"); else print(TAB + "<i>inverseOf</i>(" + visitor.result() + ")"); } for (Iterator it = reasoner.superPropertiesOf(prop).iterator(); it.hasNext();) { println(); try { // superPropertiesOf returns a set of sets,that's why another iterator is needed for (Iterator it1 = ((Set) it.next()).iterator(); it1.hasNext();) { Object Obj = it1.next(); if (Obj instanceof OWLObjectProperty) { OWLObjectProperty sup = (OWLObjectProperty)Obj; visitor.reset(); sup.accept(visitor); if (editorEnabled) print(TAB + "super(" + visitor.result() + ")"); else print(TAB + "<i>super</i>(" + visitor.result() + ")"); } } } catch (Exception e) { System.out.println(e.getMessage().toString()); } } for (Iterator it = reasoner.domainsOf(prop).iterator(); it.hasNext();) { println(); OWLDescription dom = (OWLDescription) it.next(); visitor.reset(); dom.accept(visitor); if (editorEnabled) print(TAB + "domain(" + visitor.result() + ")"); else print(TAB + "<i>domain</i>(" + visitor.result() + ")"); // if (it.hasNext()) { // println(); // } } for (Iterator it = reasoner.rangesOf(prop).iterator(); it.hasNext();) { println(); OWLDescription ran = (OWLDescription) it.next(); visitor.reset(); ran.accept(visitor); if (editorEnabled) print(TAB + "range(" + visitor.result() + ")"); else print(TAB + "<i>range</i>(" + visitor.result() + ")"); }// Added for rendering rules if (swoopModel.getEnableRules()) { Set rules = swoopModel.getRuleExpr().getRules(prop); for (Iterator it = rules.iterator(); it.hasNext();) { OWLRule rule = ((RuleValue) it.next()).getRule(); println("\n \t" + "Implies(" + "Antecedent("); Set antecedents = rule.getAntecedents(); for (Iterator it1 = antecedents.iterator(); it1.hasNext();) { OWLRuleAtom antAtom = (OWLRuleAtom) it1.next(); renderAtom(antAtom); // visitor.reset(); // antAtom.accept((OWLRuleAtomVisitor) visitor); // print(" "+visitor.result()); } println(")"); println("\t" + "Consequent("); OWLRuleAtom consAtom = (OWLRuleAtom) rule.getConsequents() .iterator().next(); //visitor.reset(); //consAtom.accept((OWLRuleAtomVisitor) visitor); //print(" "+visitor.result()); renderAtom(consAtom); println(")"); println(")"); } } println("\n)"); } protected void renderTextObjectProperty(OWLObjectProperty prop) throws OWLException { //***************************************** //Changed for Econnections //**************************************** if(!prop.isLink()){ print("ObjectProperty(" + shortForm(prop.getURI()));} else{ print("LinkProperty(" + shortForm(prop.getURI())); print(" foreignOntology(" + shortForm(prop.getLinkTarget()) + ")"); } if (prop.isTransitive(reasoner.getOntologies())) { print(" Transitive"); } if (prop.isFunctional(reasoner.getOntologies())) { print(" Functional"); } if (prop.isInverseFunctional(reasoner.getOntologies())) { print(" InverseFunctional"); } if (prop.isSymmetric(reasoner.getOntologies())) { print(" Symmetric"); } for (Iterator it = prop.getInverses(reasoner.getOntologies()).iterator(); it.hasNext();) { println(); OWLObjectProperty inv = (OWLObjectProperty) it.next(); visitor.reset(); inv.accept(visitor); print(TAB + "inverseOf(" + visitor.result() + ")"); } for (Iterator it = reasoner.superPropertiesOf(prop).iterator(); it.hasNext();) { println(); try { // superPropertiesOf returns a set of sets,that's why another iterator is needed for (Iterator it1 = ((Set) it.next()).iterator(); it1.hasNext();) { Object Obj = it1.next(); if (Obj instanceof OWLObjectProperty) { OWLObjectProperty sup = (OWLObjectProperty)Obj; visitor.reset(); sup.accept(visitor); print(TAB + "super(" + visitor.result() + ")"); } } } catch (Exception e) { System.out.println(e.getMessage().toString()); } } for (Iterator it = reasoner.domainsOf(prop).iterator(); it.hasNext();) { println(); OWLDescription dom = (OWLDescription) it.next(); visitor.reset(); dom.accept(visitor); print(TAB + "domain(" + visitor.result() + ")"); // if (it.hasNext()) { // println(); // } } for (Iterator it = reasoner.rangesOf(prop).iterator(); it.hasNext();) { println(); OWLDescription ran = (OWLDescription) it.next(); visitor.reset(); ran.accept(visitor); print(TAB + "range(" + visitor.result() + ")"); }// Added for rendering rules if (swoopModel.getEnableRules()) { Set rules = swoopModel.getRuleExpr().getRules(prop); for (Iterator it = rules.iterator(); it.hasNext();) { OWLRule rule = (OWLRule) it.next(); println("\n \t" + "Implies(" + "Antecedent("); Set antecedents = rule.getAntecedents(); for (Iterator it1 = antecedents.iterator(); it1.hasNext();) { OWLRuleAtom antAtom = (OWLRuleAtom) it1.next(); renderAtom(antAtom); // visitor.reset(); // antAtom.accept((OWLRuleAtomVisitor) visitor); // print(" "+visitor.result()); } println(")"); println("\t" + "Consequent("); OWLRuleAtom consAtom = (OWLRuleAtom) rule.getConsequents() .iterator().next(); //visitor.reset(); //consAtom.accept((OWLRuleAtomVisitor) visitor); //print(" "+visitor.result()); renderAtom(consAtom); println(")"); println(")"); } } println("\n)"); } protected void renderPropertyAxiom(OWLPropertyAxiom axiom) throws OWLException{ visitor.reset(); axiom.accept(visitor); pw.println(visitor.result()); } protected void renderClassAxiom(OWLClassAxiom axiom) throws OWLException{ visitor.reset(); axiom.accept(visitor); pw.println(visitor.result()); } protected void renderTextPropertyAxiom(OWLPropertyAxiom axiom) throws OWLException{ visitor.reset(); axiom.accept(visitor); pw.println(visitor.result()); } protected void renderTextClassAxiom(OWLClassAxiom axiom) throws OWLException{ visitor.reset(); axiom.accept(visitor); pw.println(visitor.result()); } protected void renderDataProperty(OWLDataProperty prop) throws OWLException { print("DatatypeProperty(" + shortForm(prop.getURI())); if (prop.isFunctional(reasoner.getOntologies())) { if (editorEnabled) print(" Functional"); else print(" <i>Functional</i>"); } for (Iterator it = reasoner.domainsOf(prop).iterator(); it.hasNext();) { println(); OWLDescription dom = (OWLDescription) it.next(); visitor.reset(); dom.accept(visitor); if (editorEnabled) print(TAB + "domain(" + visitor.result() + ")"); else print(TAB + "<i>domain</i>(" + visitor.result() + ")"); // if (it.hasNext()) { // println(); // } } for (Iterator it = reasoner.rangesOf(prop).iterator(); it.hasNext();) { println(); OWLDataRange ran = (OWLDataRange) it.next(); visitor.reset(); ran.accept(visitor); if (editorEnabled) print(TAB + "range(" + visitor.result() + ")"); else print(TAB + "<i>range</i>(" + visitor.result() + ")"); } if (swoopModel.getEnableRules()) { Set rules = swoopModel.getRuleExpr().getRules(prop); for (Iterator it = rules.iterator(); it.hasNext();) { OWLRule rule = (OWLRule) it.next(); println("\n \t" + "Implies(" + "Antecedent("); Set antecedents = rule.getAntecedents(); for (Iterator it1 = antecedents.iterator(); it1.hasNext();) { OWLRuleAtom antAtom = (OWLRuleAtom) it1.next(); renderAtom(antAtom); // visitor.reset(); // antAtom.accept((OWLRuleAtomVisitor) visitor); // print(" "+visitor.result()); } println(")"); println("\t" + "Consequent("); OWLRuleAtom consAtom = (OWLRuleAtom) rule.getConsequents() .iterator().next(); //visitor.reset(); //consAtom.accept((OWLRuleAtomVisitor) visitor); //print(" "+visitor.result()); renderAtom(consAtom); println(")"); println(")"); } } println("\n)"); } protected void renderTextDataProperty(OWLDataProperty prop) throws OWLException { print("DatatypeProperty(" + shortForm(prop.getURI())); if (prop.isFunctional(reasoner.getOntologies())) { print(" Functional"); } for (Iterator it = reasoner.domainsOf(prop).iterator(); it.hasNext();) { println(); OWLDescription dom = (OWLDescription) it.next(); visitor.reset(); dom.accept(visitor); print(TAB + "domain(" + visitor.result() + ")"); // if (it.hasNext()) {
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?