From: <ku...@us...> - 2008-08-23 12:07:09
|
Revision: 1129 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1129&view=rev Author: kurzum Date: 2008-08-23 12:07:03 +0000 (Sat, 23 Aug 2008) Log Message: ----------- Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/DatatypePropertyNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/LiteralNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java trunk/src/dl-learner/org/dllearner/kb/extraction/ObjectPropertyNode.java trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertRDFS.java trunk/src/dl-learner/org/dllearner/utilities/datastructures/RDFNodeTuple.java trunk/src/dl-learner/org/dllearner/utilities/datastructures/SetManipulation.java trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java trunk/src/dl-learner/org/dllearner/utilities/learn/SPARQLExtractionEvaluation.java trunk/src/dl-learner/org/dllearner/utilities/owl/OWLVocabulary.java Property Changed: ---------------- trunk/src/dl-learner/org/dllearner/test/ Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -41,8 +41,8 @@ private static Logger logger = Logger .getLogger(ClassNode.class); - SortedSet<ObjectPropertyNode> classProperties = new TreeSet<ObjectPropertyNode>(); - SortedSet<DatatypePropertyNode> datatypeProperties = new TreeSet<DatatypePropertyNode>(); + List<ObjectPropertyNode> classProperties = new ArrayList<ObjectPropertyNode>(); + List<DatatypePropertyNode> datatypeProperties = new ArrayList<DatatypePropertyNode>(); public ClassNode(String uri) { super(uri); @@ -73,10 +73,11 @@ datatypeProperties.add(new DatatypePropertyNode(tuple.a.toString(), this, new LiteralNode(tuple.b) )); return null; }else if(tuple.b.isAnon()){ - logger.warn("blanknodes not supported as of now"+ this +"in tuple" + tuple); + logger.warn("blanknodes not supported as of now "+ this +" in tuple" + tuple); return null; // substitute rdf:type with owl:subclassof - }else if (property.equals(OWLVocabulary.RDF_TYPE) || property.equals(OWLVocabulary.RDFS_SUBCLASS_OF)) { + }else if (property.equals(OWLVocabulary.RDF_TYPE) || + OWLVocabulary.isStringSubClassVocab(property)) { ClassNode tmp = new ClassNode(tuple.b.toString()); classProperties.add(new ObjectPropertyNode( OWLVocabulary.RDFS_SUBCLASS_OF, this, tmp)); return tmp; @@ -124,9 +125,6 @@ return returnSet; } - @Override - public int compareTo(Node n) { - return super.compareTo(n); - } + } Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/DatatypePropertyNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/DatatypePropertyNode.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/DatatypePropertyNode.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -83,19 +83,6 @@ return s; } - //TODO check - @Override - public boolean equals(Node n) { - if (this.uri.equals(n.uri)) { - return true; - }else { - return false; - } - } + - @Override - public int compareTo(Node n) { - return super.compareTo(n); - } - } Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -42,10 +42,10 @@ private static Logger logger = Logger .getLogger(InstanceNode.class); - private SortedSet<ClassNode> classes = new TreeSet<ClassNode>(); + private List<ClassNode> classes = new ArrayList<ClassNode>(); //SortedSet<StringTuple> datatypes = new TreeSet<StringTuple>(); - private SortedSet<ObjectPropertyNode> objectProperties = new TreeSet<ObjectPropertyNode>(); - private SortedSet<DatatypePropertyNode> datatypeProperties = new TreeSet<DatatypePropertyNode>(); + private List<ObjectPropertyNode> objectProperties = new ArrayList<ObjectPropertyNode>(); + private List<DatatypePropertyNode> datatypeProperties = new ArrayList<DatatypePropertyNode>(); public InstanceNode(String uri) { @@ -133,10 +133,6 @@ return returnSet; } - @Override - public int compareTo(Node n) { - return super.compareTo(n); - // - } + } Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/LiteralNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/LiteralNode.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/LiteralNode.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -75,13 +75,9 @@ return new TreeSet<String>(); } - @Override - public int compareTo(Node n) { - return super.compareTo(n); - // - } + public String getNTripleForm() { String quote = "\\\""; quote = """; Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -33,7 +33,7 @@ * @author Sebastian Hellmann * */ -public abstract class Node implements Comparable<Node> { +public abstract class Node { @@ -85,17 +85,8 @@ - public boolean equals(Node n) { - if (this.uri.equals(n.uri)) - return true; - else - return false; - } - - public int compareTo(Node n) { - return this.uri.toString().compareTo(n.uri.toString()); - } + public boolean isExpanded(){ return expanded; } Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/ObjectPropertyNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/ObjectPropertyNode.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/ObjectPropertyNode.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -100,19 +100,5 @@ return s; } - //TODO check - @Override - public boolean equals(Node n) { - if (this.uri.equals(n.uri)) { - return true; - }else { - return false; - } - } - - @Override - public int compareTo(Node n) { - return super.compareTo(n); - } - + } Modified: trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -24,10 +24,9 @@ import java.util.SortedSet; import org.apache.log4j.Logger; -import org.dllearner.kb.extraction.ClassNode; -import org.dllearner.kb.extraction.InstanceNode; import org.dllearner.kb.extraction.Node; import org.dllearner.kb.manipulator.Rule.Months; +import org.dllearner.kb.manipulator.TypeFilterRule.Nodes; import org.dllearner.utilities.JamonMonitorLogger; import org.dllearner.utilities.datastructures.RDFNodeTuple; import org.dllearner.utilities.owl.OWLVocabulary; @@ -101,7 +100,7 @@ return m; } - //HACK + // // if(t.a.equals("http://www.holygoat.co.uk/owl/redwood/0.1/tags/taggedWithTag")) { // //hackGetLabel(t.b); // @@ -109,7 +108,7 @@ // GovTrack hack // => we convert a string literal to a URI - // => TODO: introduce an option for converting literals for certain + // => : introduce an option for converting literals for certain // properties into URIs // String sp = "http://purl.org/dc/elements/1.1/subject"; // if(t.a.equals(sp)) { @@ -123,10 +122,12 @@ // addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_CLASS,ClassNode.class.getCanonicalName() )) ; // addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_THING,InstanceNode.class.getCanonicalName() )) ; // addRule(new TypeFilterRule(month, "", OWLVocabulary.OWL_CLASS, ClassNode.class.getCanonicalName()) ) ; - addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_CLASS,ClassNode.class )) ; - addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_THING,InstanceNode.class )) ; - addRule(new TypeFilterRule(month, "", OWLVocabulary.OWL_CLASS, ClassNode.class) ) ; - addRule(new TypeFilterRule(month, "", OWLVocabulary.RDFS_CLASS, ClassNode.class) ) ; + + addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_THING, Nodes.INSTANCENODE )) ; + + addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_CLASS, Nodes.CLASSNODE)) ; + addRule(new TypeFilterRule(month, "", OWLVocabulary.OWL_CLASS, Nodes.CLASSNODE) ) ; + addRule(new TypeFilterRule(month, "", OWLVocabulary.RDFS_CLASS, Nodes.CLASSNODE) ) ; } Modified: trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -23,6 +23,9 @@ import java.util.TreeSet; import org.apache.log4j.Logger; +import org.dllearner.kb.extraction.ClassNode; +import org.dllearner.kb.extraction.InstanceNode; +import org.dllearner.kb.extraction.LiteralNode; import org.dllearner.kb.extraction.Node; import org.dllearner.utilities.JamonMonitorLogger; import org.dllearner.utilities.datastructures.RDFNodeTuple; @@ -31,16 +34,17 @@ public static Logger logger = Logger.getLogger(TypeFilterRule.class); - String predicateFilter; - String objectFilter; - String classCanonicalName; + private String predicateFilter; + private String objectFilter; + private Nodes requiredNodeType; + public enum Nodes {CLASSNODE, INSTANCENODE, LITERALNODE}; - public TypeFilterRule(Months month, String predicateFilter, String objectFilter, Class<? extends Node> clazz) { + public TypeFilterRule(Months month, String predicateFilter, String objectFilter, Nodes requiredNodeType) { super(month); this.predicateFilter = predicateFilter; this.objectFilter = objectFilter; - this.classCanonicalName = clazz.getCanonicalName(); + this.requiredNodeType = requiredNodeType; } @@ -52,21 +56,37 @@ //String a = tuple.a.toString(); //String b = tuple.b.toString(); //System.out.println(a+b); - boolean remove = (tuple.aPartContains(predicateFilter) && - tuple.bPartContains(objectFilter) && - // QUALITY this might be dead wrong - (classCanonicalName.equalsIgnoreCase(subject.getClass().getCanonicalName())) + boolean remove = ( + (tuple.aPartContains(predicateFilter) ) && + (tuple.bPartContains(objectFilter) ) && + (checkClass(subject)) ); + if(!remove){ keep.add(tuple); }else{ logJamon(); + //RBC + logger.debug("for "+ subject+ " removed tuple: "+tuple); } } return keep; } + public boolean checkClass (Node n){ + if (requiredNodeType.equals(Nodes.INSTANCENODE)){ + return (n instanceof InstanceNode); + }else if (requiredNodeType.equals(Nodes.CLASSNODE)){ + return (n instanceof ClassNode); + }else if (requiredNodeType.equals(Nodes.LITERALNODE)){ + return (n instanceof LiteralNode); + } + else { + throw new RuntimeException("undefined TypeFilterRule"); + } + } + @Override public void logJamon(){ JamonMonitorLogger.increaseCount(TypeFilterRule.class, "filteredTriples"); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SPARQLTasks.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -563,7 +563,7 @@ * here are some old functions, which were workarounds: * * - * QUALITY: workaround for a sparql glitch {?a owl:subclassOf ?b} returns an + * workaround for a sparql glitch {?a owl:subclassOf ?b} returns an * empty set on some endpoints. returns all direct subclasses of String concept * * @param concept An URI string with no quotes @return SortedSet of direct Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -101,8 +101,10 @@ return getEndpointDBpedia(); } else if (name.equals("LOCALDBPEDIA")) { return getEndpointLOCALDBpedia(); - } else if (name.equals("LOCALJOSECKI")) { + } else if (name.equals("LOCALJOSECKI") || name.equals("LOCALJOSEKI") ) { return getEndpointlocalJoseki(); + } else if (name.equals("LOCALJOSEKIBIBLE")||name.equals("LOCALJOSECKIBIBLE")) { + return getEndpointLocalJosekiBible(); } else if (name.equals("GOVTRACK")) { return getEndpointGovTrack(); } else if (name.equals("SPARQLETTE")) { @@ -183,6 +185,16 @@ return new SparqlEndpoint(u, new LinkedList<String>(), new LinkedList<String>()); } + public static SparqlEndpoint getEndpointLocalJosekiBible() { + URL u = null; + try { + u = new URL("http://localhost:2020/bible"); + } catch (Exception e) { + e.printStackTrace(); + } + return new SparqlEndpoint(u, new LinkedList<String>(), new LinkedList<String>()); + } + public static SparqlEndpoint getEndpointWorldFactBook() { URL u = null; try { Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -78,8 +78,13 @@ //DEFAULTS static int recursionDepthDefault = 1; - static final boolean debug = false; //switches tupleaquisitor - static final boolean debug2 = false; //switches sysex und rdf generation + + //RBC + static final boolean debug = false; + static final boolean debugUseImprovedTupleAquisitor = debug && false; //switches tupleaquisitor + static final boolean debugExitAfterExtraction = debug && false; //switches sysex und rdf generation + static final boolean debugAdditionallyGenerateRDF = debug && true; + private boolean useCache=true; // ConfigOptions public URL url; @@ -331,7 +336,7 @@ fw.close(); dumpFile = (new File(basedir + filename)).toURI().toURL(); - if(debug2){ + if(debugAdditionallyGenerateRDF){ NT2RDF.convertNT2RDF(basedir + filename); //System.exit(0); } @@ -351,7 +356,7 @@ e.printStackTrace(); } logger.info("SparqlModul: ****Finished " + totalTime.getAndSet("") ); - if(debug2){ + if(debugExitAfterExtraction){ File jamonlog = new File("log/jamon.html"); Files.createFile(jamonlog, MonitorFactory.getReport()); @@ -457,7 +462,7 @@ public TupleAquisitor getTupleAquisitor() { - if (debug) { + if (debugUseImprovedTupleAquisitor) { return new SparqlTupleAquisitorImproved(getSparqlQueryMaker(), getSPARQLTasks(),recursionDepth); } else { Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertRDFS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertRDFS.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQueryDescriptionConvertRDFS.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -33,7 +33,7 @@ * @author Sebastian Hellmann * Enables RDFS reasoning for the DL2SPARQL class * by concept rewriting - * //QUALITY use SPARQLtasks + * */ public class SparqlQueryDescriptionConvertRDFS { Property changes on: trunk/src/dl-learner/org/dllearner/test ___________________________________________________________________ Modified: svn:ignore - JamonTest.java JenaAmpBug.java + JamonTest.java JenaAmpBug.java TestHeapSize.java Modified: trunk/src/dl-learner/org/dllearner/utilities/datastructures/RDFNodeTuple.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/datastructures/RDFNodeTuple.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/utilities/datastructures/RDFNodeTuple.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -53,11 +53,11 @@ } public boolean aPartContains(String partOf) { - return !(a.toString().contains(partOf)); + return a.toString().contains(partOf); } public boolean bPartContains(String partOf) { - return (b.toString().contains(partOf)); + return b.toString().contains(partOf); } } Modified: trunk/src/dl-learner/org/dllearner/utilities/datastructures/SetManipulation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/datastructures/SetManipulation.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/utilities/datastructures/SetManipulation.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -69,10 +69,10 @@ /** * XXX * getFirst n Elements from list. - * changes the list!!! + * changes the list object!!! * @param list * @param nrElements - * @return returns the list shrunken to size. it is an ARRAYLIST now + * @return returns the list shrunken to size. */ public static List getFirst(List list, int nrElements) { int size; Modified: trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -135,7 +135,7 @@ } - // QUALITY: keep a while may still be needed + // keep a while may still be needed /*public void dbpediaMakeNegativeExamplesFromRelatedInstances(String subject) { // SortedSet<String> result = new TreeSet<String>(); Modified: trunk/src/dl-learner/org/dllearner/utilities/learn/SPARQLExtractionEvaluation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/learn/SPARQLExtractionEvaluation.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/utilities/learn/SPARQLExtractionEvaluation.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -198,7 +198,7 @@ } - //FIXME + //TODO: check whether this function is still needed public static SortedSet<String> selectDBpediaConcepts(int number){ String query = "SELECT DISTINCT ?concept WHERE { \n" + "[] a ?concept .FILTER (regex(str(?concept),'yago'))" + Modified: trunk/src/dl-learner/org/dllearner/utilities/owl/OWLVocabulary.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/owl/OWLVocabulary.java 2008-08-22 15:52:22 UTC (rev 1128) +++ trunk/src/dl-learner/org/dllearner/utilities/owl/OWLVocabulary.java 2008-08-23 12:07:03 UTC (rev 1129) @@ -24,7 +24,6 @@ public static final String RDF_TYPE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"; public static final String RDFS_SUBCLASS_OF = "http://www.w3.org/2000/01/rdf-schema#subClassOf"; - public static final String RDFS_CLASS = "http://www.w3.org/2000/01/rdf-schema#Class"; @@ -32,10 +31,22 @@ public static final String OWL_OBJECTPROPERTY = "http://www.w3.org/2002/07/owl#ObjectProperty"; public static final String OWL_DATATYPPROPERTY = "http://www.w3.org/2002/07/owl#DataTypeProperty"; public static final String OWL_CLASS = "http://www.w3.org/2002/07/owl#Class"; + public static final String OWL_SUBCLASS_OF = "http://www.w3.org/2002/07/owl#subClassOf"; + public static final String OWL_THING = "http://www.w3.org/2002/07/owl#Thing"; //OWL2 Namespace: http://www.w3.org/2006/12/owl2# + public static boolean isStringClassVocab (String possClass){ + return (RDFS_CLASS.equalsIgnoreCase(possClass) + || OWL_CLASS.equalsIgnoreCase(possClass)); + + } + public static boolean isStringSubClassVocab (String possSubClass){ + return (RDFS_SUBCLASS_OF.equalsIgnoreCase(possSubClass) + || OWL_SUBCLASS_OF.equalsIgnoreCase(possSubClass)); + + } // public static final String RDF_TYPE = ""; // public static final String RDF_TYPE = ""; // public static final String RDF_TYPE = ""; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |