public String getMetricAdvice(int sessionId) {
   String metric = "";
   logger.info("" + sessionId);
   LimesUser lu = UserManager.getInstance().getUser(sessionId);
   System.out.println(lu);
   KBInfo sourceInfo = createKBInfo(lu.getSourceMap());
   KBInfo targetInfo = createKBInfo(lu.getTargetMap());
   if (sourceInfo.prefixes == null) sourceInfo.prefixes = new HashMap<String, String>();
   if (targetInfo.prefixes == null) targetInfo.prefixes = new HashMap<String, String>();
   //		sourceInfo.prefixes.put("rdf", PrefixHelper.getURI("rdf"));
   //		sourceInfo.prefixes.put("dbp", PrefixHelper.getURI("dbp"));
   //		sourceInfo.prefixes.put("rdfs", PrefixHelper.getURI("rdfs"));
   //		targetInfo.prefixes.put("rdf", PrefixHelper.getURI("rdf"));
   //		targetInfo.prefixes.put("dbp", PrefixHelper.getURI("dbp"));
   //		targetInfo.prefixes.put("rdfs", PrefixHelper.getURI("rdfs"));
   logger.info("getMetricAdvice(): Getting caches...");
   HybridCache sC = HybridCache.getData(sourceInfo);
   HybridCache tC = HybridCache.getData(targetInfo);
   logger.info("getMetricAdvice(): Start SelfConfig...");
   MeshBasedSelfConfigurator mbsc = new MeshBasedSelfConfigurator(sC, tC, 0.6, 0.5);
   List<SimpleClassifier> classifierList = mbsc.getBestInitialClassifiers();
   if (classifierList.size() > 0) {
     classifierList = mbsc.learnClassifer(classifierList);
   }
   ComplexClassifier compC = mbsc.getZoomedHillTop(5, 5, classifierList);
   metric = this.generateMetric(compC.classifiers, "", sourceInfo, targetInfo);
   lu.setNoUsageTime(0);
   logger.info("getMetricAdvice(): metric=\n" + metric);
   return metric;
 }
Beispiel #2
0
 @Override
 public boolean onAdvance() {
   Configuration config = app.getConfig();
   if (config.isLocal) return true;
   else if (panel.kbSource.isValid() && panel.kbTarget.isValid()) {
     // Proceed
     KBInfo source = panel.kbSource.getKBInfo();
     source.var = "?src";
     KBInfo target = panel.kbTarget.getKBInfo();
     target.var = "?dest";
     config.setSource(source);
     config.setTarget(target);
     // panel.getWindow().showNotification(source + "\n\n" + target);
     return true;
   }
   return false;
 }
  private KBInfo createKBInfo(HashMap<String, Object> param) {
    KBInfo info = new KBInfo();
    info.endpoint = (String) param.get("endpoint");

    info.graph = (String) param.get("graph");
    info.var = (String) param.get("var");
    System.out.println(info.endpoint);
    info.restrictions = new ArrayList<String>();
    if (param.containsKey("class")) {
      String classRestrString =
          info.var + " rdf:type " + SPARQLHelper.wrapIfNecessary((String) param.get("class"));
      info.restrictions.add(classRestrString);
    }
    info.prefixes = (HashMap<String, String>) param.get("prefixes");
    System.out.println("PREFIXES: " + info.prefixes);
    info.functions = (HashMap<String, String>) param.get("properties");
    for (String prop : info.functions.keySet()) {
      info.properties.add(prop);
    }
    info.type = "SPARQL";
    info.id = (String) param.get("id");
    return info;
  }