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; }
public void getMapping(int mailAddress) { LimesUser le = UserManager.getInstance().getUser(mailAddress); le.addPropertyChangeListener(UserManager.getInstance()); HashMap<String, Object> source; source = le.getSourceMap(); HashMap<String, Object> target = le.getTargetMap(); HashMap<String, Object> metric = le.getMetricMap(); KBInfo sourceInfo = createKBInfo(source); KBInfo targetInfo = createKBInfo(target); // get metric String metricExpr = (String) metric.get("metric"); Double accThreshold = (Double) metric.get("accthreshold"); Double verThreshold = (Double) metric.get("verthreshold"); le.calculateMapping(sourceInfo, targetInfo, metricExpr, accThreshold, verThreshold); le.setNoUsageTime(0); }
public String fetchTargetData(int sessionId) { LimesUser lu = UserManager.getInstance().getUser(sessionId); return JsonParser.parseJavaToJSON(lu.getTargetMap()); }