From: <sk...@us...> - 2007-10-29 12:26:53
|
Revision: 270 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=270&view=rev Author: sknappe Date: 2007-10-29 05:26:51 -0700 (Mon, 29 Oct 2007) Log Message: ----------- added function to show subjects according to the last learned concept Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java trunk/src/dl-learner/org/dllearner/kb/SparqlQueryMaker.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java Modified: trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java 2007-10-29 12:26:01 UTC (rev 269) +++ trunk/src/dl-learner/org/dllearner/kb/SparqlEndpoint.java 2007-10-29 12:26:51 UTC (rev 270) @@ -213,4 +213,13 @@ System.out.println("SparqlModul: ****Finished"); return ret; } + + public String[] getSubjectsFromConcept(String concept) + { + System.out.println("SparqlModul: Collecting Subjects"); + SparqlOntologyCollector oc=new SparqlOntologyCollector(url); + String[] ret=oc.getSubjectsFromConcept(concept); + System.out.println("SparqlModul: ****Finished"); + return ret; + } } Modified: trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java 2007-10-29 12:26:01 UTC (rev 269) +++ trunk/src/dl-learner/org/dllearner/kb/SparqlOntologyCollector.java 2007-10-29 12:26:51 UTC (rev 270) @@ -154,6 +154,26 @@ return processSubjects(xml); } + public String[] getSubjectsFromConcept(String concept) + { + System.out.println("Searching for Subjects of type: "+concept); + String sparql=q.makeConceptQuery(concept); + String FromCache=c.get(concept, sparql); + String xml; + // if not in cache get it from dbpedia + if(FromCache==null){ + xml=sendAndReceive(sparql); + c.put(concept, xml, sparql); + System.out.print("\n"); + } + else{ + xml=FromCache; + System.out.println("FROM CACHE"); + } + + return processSubjects(xml); + } + /** * calls getRecursive for each subject in list * @param subjects Modified: trunk/src/dl-learner/org/dllearner/kb/SparqlQueryMaker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/SparqlQueryMaker.java 2007-10-29 12:26:01 UTC (rev 269) +++ trunk/src/dl-learner/org/dllearner/kb/SparqlQueryMaker.java 2007-10-29 12:26:51 UTC (rev 270) @@ -84,4 +84,9 @@ "WHERE { ?subject rdfs:label ?object.FILTER regex(?object,\""+label+"\"@en)}\n"+ "LIMIT "+limit; } + + public String makeConceptQuery(String concept){ + return "SELECT DISTINCT ?subject\n"+ + "WHERE { ?subject a <"+concept+">}\n"; + } } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2007-10-29 12:26:01 UTC (rev 269) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2007-10-29 12:26:51 UTC (rev 270) @@ -464,4 +464,12 @@ Component component = state.getComponent(componentID); return ((SparqlEndpoint)component).getSubjects(label,limit); } + + @WebMethod + public String[] getSubjectsFromConcept(int id, int componentID, String concept) throws ClientNotKnownException + { + ClientState state=getState(id); + Component component = state.getComponent(componentID); + return ((SparqlEndpoint)component).getSubjectsFromConcept(concept); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |