public void savePatternLink(LabeledLink l) { String key = l.getSource().getUri() + l.getUri() + l.getTarget().getUri(); List<LabeledLink> links = this.patternLinks.get(key); if (links == null) { links = new LinkedList<>(); this.patternLinks.put(key, links); } links.add(l); }
private Set<String> getTriples(DirectedWeightedMultigraph<Node, LabeledLink> g, HashMap<Node,String> nodeIds, boolean ignoreSemanticTypes, boolean ignoreColumnNodes) { String separator = "|"; Set<String> triples = new HashSet<>(); if (g == null) return triples; String s, p, o, triple; for (LabeledLink l : g.edgeSet()) { if (ignoreSemanticTypes && !(l.getTarget() instanceof InternalNode)) continue; s = nodeIds.get(l.getSource()); o = nodeIds.get(l.getTarget()); p = l.getLabel().getUri(); if (ignoreColumnNodes) triple = s + separator + p; else triple = s + separator + p + separator + o; // System.out.println(triple); triples.add(triple); } return triples; }
if (!(outLink.getTarget() instanceof ColumnNode)) { addLink(outLink, LINK_DIRECTION.outgoing, edgesArray);
public void updateCoherence(LabeledLink link) { if (link == null) return; if (interactiveMode) { if (link.getStatus() == LinkStatus.ForcedByUser) return; if (link.getTarget() instanceof ColumnNode) { ColumnNode cn = (ColumnNode)link.getTarget(); if (cn.getSemanticTypeStatus() == ColumnSemanticTypeStatus.UserAssigned) return; } } else { if (!(link.getTarget() instanceof InternalNode)) return; } this.itemsCount ++; if (link.getModelIds() == null || link.getModelIds().isEmpty()) return; updateCoherence(link.getModelIds()); }
return; if (link.getTarget() instanceof ColumnNode) { ColumnNode cn = (ColumnNode)link.getTarget(); if (cn.getSemanticTypeStatus() == ColumnSemanticTypeStatus.UserAssigned) return; if (!(link.getTarget() instanceof InternalNode)) return; if (link.getTarget() instanceof InternalNode) { InternalNode in = (InternalNode)link.getTarget(); if (model.outgoingEdgesOf(in) == null || model.outgoingEdgesOf(in).isEmpty()) { this.itemsCount += model.edgeSet().size();
public void printModel(DirectedWeightedMultigraph<Node, LabeledLink> model) { logger.debug("Vertices: "); for(Node n : model.vertexSet()) { logger.debug("\t" + n.getId()); } logger.debug("Edges: "); for(LabeledLink l : model.edgeSet()) { logger.debug("\t" + l.getSource().getId() + " --> " + l.getTarget().getId()); } }
private void addLinks(Set<LabeledLink> links) { if (links == null) return; for (LabeledLink link : links) { if (!this.tree.containsEdge(link) && this.tree.containsVertex(link.getSource()) && this.tree.containsVertex(link.getTarget())) { this.tree.addEdge(link.getSource(), link.getTarget(), link); } } }
private void mergeModels(DirectedWeightedMultigraph<Node, LabeledLink> model1, DirectedWeightedMultigraph<Node, LabeledLink> model2) { for(Node n : model1.vertexSet()) { model2.addVertex(n); for(LabeledLink link : model1.incomingEdgesOf(n)) { model2.addVertex(link.getSource()); model2.addVertex(link.getTarget()); model2.addEdge(link.getSource(), link.getTarget(), link); } } this.models.remove(model1); } }
private LabeledLink getMainProvenanceLink(Alignment alignment, LabeledLink link) { String edgeUri = link.getUri(); for(LabeledLink otherLink : alignment.getCurrentIncomingLinksToNode(link.getTarget().getId())) { if(otherLink.getUri().equals(edgeUri) && otherLink.isMainProvenanceLink()) return otherLink; } return null; }
private void addForcedLinks() { Set<LabeledLink> forcedLinks = getLinksByStatus(LinkStatus.ForcedByUser); if (forcedLinks != null) for (LabeledLink link : forcedLinks) { if (!this.steinerTree.containsEdge(link)) { if (!this.steinerTree.containsVertex(link.getSource())) { this.steinerTree.addVertex(link.getSource()); } if (!this.steinerTree.containsVertex(link.getTarget())) { this.steinerTree.addVertex(link.getTarget()); } this.steinerTree.addEdge(link.getSource(), link.getTarget(), link); } } }
private LabeledLink getSpecializationLinkIfExists(LabeledLink link, Node sourceNode) { Set<LabeledLink> outgoingEdges = this.alignmentGraph.outgoingEdgesOf(sourceNode); for (LabeledLink olink:outgoingEdges) { // Check for the object property specialization if (olink instanceof ObjectPropertySpecializationLink ) { String splLinkId = ((ObjectPropertySpecializationLink) olink).getSpecializedLinkId(); if (splLinkId.equals(link.getId())) return olink; } // Check for the data property specialization else if (olink instanceof DataPropertyOfColumnLink) { DataPropertyOfColumnLink dlink = (DataPropertyOfColumnLink) olink; Node target = link.getTarget(); if (target instanceof ColumnNode) { ColumnNode cnode = (ColumnNode) target; if (dlink.getSpecializedColumnHNodeId().equals(cnode.getId())) return dlink; } } } return null; }
public static String gethNodeId(String alignmentId, String columnUri) { Alignment alignment = AlignmentManager.Instance().getAlignment(alignmentId); Set<LabeledLink> tmp = alignment.getCurrentOutgoingLinksToNode(columnUri); String hNodeId = null; for (LabeledLink link : tmp) { if (link.getKeyType() == LinkKeyInfo.UriOfInstance) { hNodeId = link.getTarget().getId(); } } return hNodeId; }
Node target = link.getTarget(); if(target instanceof ColumnNode) { //ALready covered in semantic types continue;
while(linkIterator.hasNext()) Node n = linkIterator.next().getTarget(); if(n instanceof ColumnNode)
public void changeLinkStatus(LabeledLink link, LinkStatus status) { super.changeLinkStatus(link, status); if (status == LinkStatus.PreferredByUI) return; SteinerNode n1 = new SteinerNode(link.getSource().getId()); SteinerNode n2 = new SteinerNode(link.getTarget().getId()); SteinerEdge e = new SteinerEdge(n1, link.getId(), n2, (float)link.getWeight()); if (getTopKGraph().get(n2).remove(e)) { if (link instanceof LabeledLink) { e.setModelIds(((LabeledLink)link).getModelIds()); e.setForced(status == LinkStatus.ForcedByUser); } getTopKGraph().get(n2).add(e); } }
if (l.getStatus() == LinkStatus.ForcedByUser) { Node source = l.getSource(); Node target = l.getTarget(); if (!this.graphBuilder.addLink(source, target, l)) { LabeledLink existingLink = this.graphBuilder.getIdToLinkMap().get(l.getId());
Node target = link.getTarget(); DirectedWeightedMultigraph<Node, LabeledLink> sourceModel = findModel(source); DirectedWeightedMultigraph<Node, LabeledLink> targetModel = findModel(target);