public boolean removeNode(String nodeId) { Node node = this.getNodeById(nodeId); if (node != null) { node.setForced(false); this.graphBuilder.getForcedNodes().remove(node); if (this.steinerTree != null && this.steinerTree.containsVertex(node)) { Set<LabeledLink> links = this.steinerTree.edgesOf(node); if (links != null) { for (LabeledLink l : links) { this.changeLinkStatus(l.getId(), LinkStatus.Normal); } } this.steinerTree.removeVertex(node); return true; } } logger.debug("Cannot find the link " + nodeId + " in the graph."); return false; }
private void addProvenaceLinks(Alignment alignment, Label linkLabel, LiteralNode targetNode) { String targetId = targetNode.getId(); Set<Node> internalNodes = alignment.getNodesByType(NodeType.InternalNode); String edgeUri = linkLabel.getUri(); for(Node internalNode : internalNodes) { String nodeId = internalNode.getId(); Set<LabeledLink> inLinks = alignment.getIncomingLinksInTree(nodeId); Set<LabeledLink> outLinks = alignment.getOutgoingLinksInTree(nodeId); if((inLinks != null && inLinks.size() > 0) || (outLinks != null && outLinks.size() > 0)) { String linkId = LinkIdFactory.getLinkId(edgeUri, nodeId, targetId); LabeledLink link = alignment.getLinkById(linkId); if(link == null) { link = alignment.addObjectPropertyLink(internalNode, targetNode, linkLabel); alignment.changeLinkStatus(linkId, LinkStatus.ForcedByUser); link.setProvenance(true, false); } } } }
if (link != null) { alignment.changeLinkStatus(linkId, LinkStatus.ForcedByUser); link.setProvenance(isProvenance, true); if(isProvenance) LabeledLink newLink = alignment.getLinkById(linkId); if (newLink != null) { alignment.changeLinkStatus(linkId, LinkStatus.ForcedByUser); } else { newLink = alignment.addObjectPropertyLink(sourceNode, alignment.changeLinkStatus(linkId, LinkStatus.ForcedByUser);
for (LabeledLink currentLink: currentLinks) { alignment.changeLinkStatus(currentLink.getId(), LinkStatus.Normal); alignment.changeLinkStatus(edgeId, LinkStatus.ForcedByUser); if(!this.isExecutedInBatch()) alignment.align();
alignment.changeLinkStatus(newLink.getId(), LinkStatus.ForcedByUser);
alignment.changeLinkStatus(newLink.getId(), LinkStatus.ForcedByUser); LabeledLink newLink = alignment.addObjectPropertyLink(classInstanceNode, targetNode, linkLabel); alignment.changeLinkStatus(newLink.getId(), LinkStatus.ForcedByUser); propertyLink = alignment.getLinkById(metaPropertyId); LabeledLink newLink = alignment.addDataPropertyOfColumnLink(classInstanceNode, columnNode, targetHNodeId, propertyLink.getId()); alignment.changeLinkStatus(newLink.getId(), LinkStatus.ForcedByUser); LabeledLink newLink = alignment.addObjectPropertySpecializationLink( classInstanceNode, columnNode, propertyLink.getId()); alignment.changeLinkStatus(newLink.getId(), LinkStatus.ForcedByUser); alignment.changeLinkStatus(newLink.getId(), LinkStatus.ForcedByUser);