001    package org.dllearner.test;
002    
003    import java.net.URL;
004    import java.util.SortedSet;
005    import java.util.TreeSet;
006    
007    import org.apache.log4j.ConsoleAppender;
008    import org.apache.log4j.Level;
009    import org.apache.log4j.Logger;
010    import org.apache.log4j.SimpleLayout;
011    import org.dllearner.kb.sparql.SPARQLTasks;
012    import org.dllearner.kb.sparql.SparqlEndpoint;
013    import org.dllearner.utilities.examples.AutomaticNegativeExampleFinderSPARQL;
014    
015    public class TestGetExampleBug {
016    
017            /**
018             * @param args
019             */
020            public static void main(String[] args) {
021                                    Logger logger = Logger.getRootLogger();
022                                    SimpleLayout layout = new SimpleLayout();
023                                    ConsoleAppender consoleAppender = new ConsoleAppender(layout);
024                                    logger.removeAllAppenders();
025                                    logger.addAppender(consoleAppender);
026                                    logger.setLevel(Level.TRACE);           
027                                    //Logger.getLogger(SparqlQuery.class).setLevel(Level.DEBUG);
028                                    
029                                    try {
030                                    String OntowikiUrl="http://localhost/ontowiki/service/sparql";
031    
032                            
033                                    
034                                    SortedSet<String> positiveSet = new TreeSet<String>();
035                                    positiveSet.add("http://3ba.se/conferences/JensLehmann");
036                                    positiveSet.add("http://3ba.se/conferences/MuhammadAhtishamAslam");
037                                    positiveSet.add("http://3ba.se/conferences/SebastianDietzold");
038                                    positiveSet.add("http://3ba.se/conferences/ThomasRiechert");
039                                    //positiveSet.add("http://3ba.se/conferences/FMILeipzig");
040    
041                                    SPARQLTasks st = new SPARQLTasks(new SparqlEndpoint(new URL(OntowikiUrl)));
042                                    AutomaticNegativeExampleFinderSPARQL ane = 
043                                            new AutomaticNegativeExampleFinderSPARQL(positiveSet,st, new TreeSet<String>());
044                                    SortedSet<String> negExamples = new TreeSet<String>();
045                                    int results=100;
046                                    if(negExamples.isEmpty()){
047                                            //ane.makeNegativeExamplesFromRelatedInstances(positiveSet, "http://3ba.se/conferences/");
048                                             negExamples = ane.getNegativeExamples(results);
049                                             if(negExamples.isEmpty()){
050                                                     ane.makeNegativeExamplesFromSuperClassesOfInstances(positiveSet, 500);
051                                                     negExamples = ane.getNegativeExamples(results);
052                                                     if(negExamples.isEmpty()) {
053                                                             ane.makeNegativeExamplesFromRandomInstances();
054                                                             negExamples = ane.getNegativeExamples(results);
055                                                     }
056                                             }
057                                    }
058                                    
059                                    System.out.println(ane.getNegativeExamples(100));
060                                    }catch (Exception e) {
061                                            e.printStackTrace();
062                                    }
063                                    
064                                    /*$negExamples=$client->getNegativeExamples($id,$ksID,$posExamples,count($posExamples),"http://localhost/ontowiki/service/sparql");
065                                    $negExamples=$negExamples->item;
066                                    $client->setLearningProblem($id, "posNegDefinition");
067                                    $client->setPositiveExamples($id, $posExamples);
068                                    $client->setNegativeExamples($id, $negExamples);
069    
070    //                               choose refinement operator approach
071                                    $client->setLearningAlgorithm($id, "refexamples");
072    //                               you can add the following to apply a config option to a component, e.g. ignore a concept
073    //                              $client->applyConfigEntryStringArray($id, $la_id, "ignoredConcepts", array('http://example.com/father#male'));
074    
075                                    $client->initAll($id);
076    
077    //                               learn concept
078                                    echo 'start learning ... ';
079    //                               get only concept
080    //                               $concept = $client->learn($id, "manchester");
081    //                               get concept and additional information in JSON syntax
082                                    $concept = $client->learnDescriptionsEvaluated($id, 5);
083                                    echo 'OK <br />';
084                                    echo 'solution: <pre>' . $concept . '</pre>';
085    
086                                    ?>*/
087    
088                    
089                    
090            }
091    
092    }