private String getClassName(Node node) { String name = (node instanceof ColumnNode) ? ((ColumnNode)node).getColumnName() : node.getDisplayId(); return name; }
if (idToNodeMap.get(node.getId()) != null) { logger.debug("The node with id=" + node.getId() + " already exists in the graph."); return false; String uri = node.getUri(); Label label = this.ontologyManager.getUriLabel(uri); if (label == null) { node.getLabel().setNs(label.getNs()); node.getLabel().setPrefix(label.getPrefix()); node.getLabel().setRdfsLabel(label.getRdfsLabel()); node.getLabel().setRdfsComment(label.getRdfsComment()); if(node.isForced()) this.forcedNodes.add(node); this.idToNodeMap.put(node.getId(), node); Set<Node> nodesWithSameUri = uriToNodesMap.get(node.getUri()); if (nodesWithSameUri == null) { nodesWithSameUri = new HashSet<>(); uriToNodesMap.put(node.getUri(), nodesWithSameUri); Set<Node> nodesWithSameType = typeToNodesMap.get(node.getType()); if (nodesWithSameType == null) { nodesWithSameType = new HashSet<>(); typeToNodesMap.put(node.getType(), nodesWithSameType); if (node.getModelIds() != null)
if (idToNodeMap.get(node.getId()) == null) { logger.error("The node with id=" + node.getId() + " does not exists in the graph."); return false; logger.debug("removing the node " + node.getId() + "..."); if(node.isForced()) this.forcedNodes.remove(node); this.idToNodeMap.remove(node.getId()); Set<Node> nodesWithSameUri = uriToNodesMap.get(node.getUri()); if (nodesWithSameUri != null) nodesWithSameUri.remove(node); Set<Node> nodesWithSameType = typeToNodesMap.get(node.getType()); if (nodesWithSameType != null) nodesWithSameType.remove(node);
public ObjectPropertyLink addObjectPropertyLink(Node source, Node target, Label label) { String id = LinkIdFactory.getLinkId(label.getUri(), source.getId(), target.getId()); ObjectPropertyLink link = new ObjectPropertyLink(id, label, this.graphBuilder.getOntologyManager().getObjectPropertyType(source.getLabel().getUri(), target.getLabel().getUri(), label.getUri())); if (this.graphBuilder.addLink(source, target, link)) { return link; } else if(this.graphBuilder.getIdToLinkMap().containsKey(link.getId())) { return (ObjectPropertyLink) this.graphBuilder.getIdToLinkMap().get(link.getId()); } else { return null; } }
JSONObject nodeObj = getNormalLayoutNodeJsonObject(node.getLocalId(), node.getLabel().getRdfsLabel(), node.getLabel().getRdfsComment(), node.getId(), node.getType().name(), height, node.isForced(), hNodeIdsCoveredByVertex, hNodeId, node.getUri(), isUri); linkObj.put(JsonKeys.source.name(), sourceIndex); linkObj.put(JsonKeys.target.name(), targetIndex); linkObj.put(JsonKeys.sourceNodeId.name(), source.getId()); linkObj.put(JsonKeys.targetNodeId.name(), target.getId()); linkObj.put(JsonKeys.label.name(), link.getLabel().getLocalName()); linkObj.put(JsonKeys.rdfsLabel.name(), link.getLabel().getRdfsLabel()); linkObj.put(JsonKeys.linkUri.name(), link.getLabel() .getUri()); if (target.getType() == NodeType.ColumnNode && outEdges.isEmpty()) { linkObj.put(JsonKeys.linkType.name(), JsonValues.key.name(), source.getLabel().getRdfsLabel(), source.getLabel().getRdfsComment(), source.getId() + "_holder", NodeType.ColumnNode.name(), 0, false, hNodeIdsCoveredByVertex_holder, source.getId() + "_holder", JsonValues.DataPropertyOfColumnHolder.name(), height - 0.35, false, hNodeIdsCoveredByVertex_holder, startHNodeId,
if(property.getTarget().getType() == NodeType.ColumnNode) continue; sourceObject.put(Arguments.uri.name(), property.getSource().getUri()); sourceObject.put(Arguments.id.name(), property.getSource().getId()); sourceObject.put(Arguments.label.name(), property.getSource().getLabel().getDisplayName()); targetObject.put(Arguments.uri.name(), property.getTarget().getUri()); targetObject.put(Arguments.id.name(), property.getTarget().getId()); targetObject.put(Arguments.label.name(), property.getTarget().getLabel().getDisplayName());
getLinkTargetId(link.getId())); String edgeSourceLabel = edgeSource.getDisplayId(); String edgeSourceId = edgeSource.getId(); String edgeSourceUri = edgeSource.getUri(); String edgeTargetLabel = edgeTarget.getDisplayId(); String edgeTargetId = edgeTarget.getId(); String edgeTargetUri = edgeTarget.getUri(); Label srcNodeLabel = edgeSource.getLabel(); if (srcNodeLabel.getUri() !=null && srcNodeLabel.getNs() != null && srcNodeLabel.getUri().equalsIgnoreCase(srcNodeLabel.getNs())) { edgeSourceLabel = edgeSource.getId(); Label trgNodeLabel = edgeTarget.getLabel(); if (trgNodeLabel.getUri() !=null && trgNodeLabel.getNs() != null && trgNodeLabel.getUri().equalsIgnoreCase(trgNodeLabel.getNs())) { edgeTargetLabel = edgeTarget.getId();
if (!this.idToNodeMap.containsKey(source.getId())) { logger.debug("The link source " + source.getId() + " does not exist in the graph"); return false; if (!this.idToNodeMap.containsKey(target.getId())) { logger.debug("The link target " + target.getId() + " does not exist in the graph"); return false; this.visitedSourceTargetPairs.add(source.getId() + target.getId()); Set<LabeledLink> inLinks = nodeIncomingLinks.get(target.getId()); if(inLinks == null) inLinks = new HashSet<>(); inLinks.add(labeledLink); nodeIncomingLinks.put(target.getId(), inLinks); Set<LabeledLink> outLinks = nodeOutgoingLinks.get(source.getId()); if(outLinks == null) outLinks = new HashSet<>(); outLinks.add(labeledLink); nodeOutgoingLinks.put(source.getId(), outLinks); String key = source.getId() + link.getUri(); Integer count = this.nodeDataPropertyCount.get(key); if (count == null) this.nodeDataPropertyCount.put(key, 1); key = source.getUri() + link.getUri(); Set<SemanticTypeMapping> SemanticTypeMappings = this.semanticTypeMatches.get(key); if (SemanticTypeMappings == null) {
String nodeLabelStr = node.getDisplayId(); Label nodeLabel = node.getLabel(); if (nodeLabel.getUri() != null && nodeLabel.getNs() != null && nodeLabel.getUri().equalsIgnoreCase(nodeLabel.getNs())) { nodeLabelStr = node.getId(); } else if(nodeLabel.getPrefix() == null && nodeLabel.getUri() != null) { nodeLabelStr = nodeLabel.getUri() + "/" + nodeLabelStr; nodeLabelStr += " (add)"; nodeObj.put(JsonKeys.nodeLabel.name(), nodeLabelStr); nodeObj.put(JsonKeys.nodeId.name(), node.getId()); nodeObj.put(JsonKeys.nodeUri.name(), nodeLabel.getUri()); nodeObj.put(JsonKeys.nodeRDFSLabel.name(), nodeLabel.getRdfsLabel());
writer.name("id").value(node.getId()); writer.name("label"); if (node.getLabel() == null) writer.value(nullStr); else writeLabel(writer, node.getLabel()); writer.name("type").value(node.getType().toString()); if (!writeNodeAnnotations || node.getModelIds() == null) writer.value(nullStr); else writeModelIds(writer, node.getModelIds()); writer.endObject();
if(resultClass.get(i).trim().isEmpty()) semanticType.put(ClientJsonKeys.DomainId.name(), n.getId()); semanticType.put(ClientJsonKeys.FullType.name(), resultPredicates.get(i)); semanticType.put(ClientJsonKeys.DomainUri.name(), n.getUri()); JSONArray newEdges = new JSONArray(); JSONObject newEdge = new JSONObject(); String sourceId = n.getId(); Set<edu.isi.karma.rep.alignment.Node> tempnodes = new HashSet<>(); tempnodes.addAll(alignment.getNodesByUri(resultClass.get(i))); String targetId = target.getId(); String targetUri = target.getLabel().getUri(); String edgeUri = resultPredicates.get(i); if (!incoming) {
logger.debug("Vertex " + n.getLocalId() + " is a column node."); String hNodeId = ((ColumnNode)n).getHNodeId(); String attId = "att" + String.valueOf(attributeList.size() + 1); Attribute att = new Attribute(attId, this.getUri(), n.getLabel().getLocalName(), IOType.NONE, AttributeRequirement.NONE); att.sethNodeId(hNodeId); attributeList.add(att); vertexIdToArgument.put(n.getId(), new Argument(att.getId(), att.getId(), ArgumentType.ATTRIBUTE)); } else { logger.debug("Vertex " + n.getLocalId() + " is an intermediate node."); String variableId = "v" + String.valueOf(variables.size() + 1); this.variables.add(variableId); vertexIdToArgument.put(n.getId(), new Argument(variableId, variableId, ArgumentType.VARIABLE)); if (vertexIdToArgument.get(n.getId()) == null) continue; Label classPredicate = new Label(n.getLabel().getUri(), n.getLabel().getNs(), n.getLabel().getPrefix(), n.getLabel().getRdfsLabel(), n.getLabel().getRdfsComment()); ClassAtom classAtom = new ClassAtom(classPredicate, vertexIdToArgument.get(n.getId())); m.getAtoms().add(classAtom); if (vertexIdToArgument.get(e.getSource().getId()) == null || vertexIdToArgument.get(e.getTarget().getId()) == null) continue; vertexIdToArgument.get(e.getSource().getId()),
String id = LinkIdFactory.getLinkId(e.getUri(), n1.getId(), n2.getId()); LabeledLink l = this.graphBuilder.getIdToLinkMap().get(id); if (l != null) { n1.getModelIds().add(modelId); n2.getModelIds().add(modelId); } else { n1.getModelIds().add(modelId); n2.getModelIds().add(modelId); e instanceof LabeledLink) { LabeledLink l = (LabeledLink)e; Set<Node> nodesWithSourceUri = this.graphBuilder.getUriToNodesMap().get(source.getUri()); Set<Node> nodesWithTargetUri = this.graphBuilder.getUriToNodesMap().get(target.getUri()); if (nodesWithSourceUri == null || nodesWithTargetUri == null) continue; for (Node nn1 : nodesWithSourceUri) { for (Node nn2 : nodesWithTargetUri) { if (nn1.equals(source) && nn2.equals(target)) continue; if (nn1.equals(nn2)) continue; String id = LinkIdFactory.getLinkId(l.getUri(), nn1.getId(), nn2.getId()); LabeledLink newLink = l.copy(id); newLink.setModelIds(null);
if (treeNode instanceof InternalNode && r2rmlMapping.getSubjectMapIndex().containsKey(treeNode.getId())) { SubjectMap subjMap = r2rmlMapping.getSubjectMapIndex().get(treeNode.getId()); r2rmlMapping.getAuxInfo().getBlankNodesColumnCoverage().put(treeNode.getId(), columnsCovered); r2rmlMapping.getAuxInfo().getBlankNodesUriPrefixMap().put(treeNode.getId(), treeNode.getDisplayId()); r2rmlMapping.getAuxInfo().getSubjectMapIdToTemplateAnchor().put(treeNode.getId(), KR2RMLMappingAuxillaryInformation.findSubjectMapTemplateAnchor(columnsCovered));
String id = this.nodeIdFactory.getNodeId(source.getLabel().getUri()); InternalNode node = new InternalNode(id, new Label(source.getLabel())); if (this.graphBuilder.addNode(node)) { n1 = node; String id = nodeIdFactory.getNodeId(target.getLabel().getUri()); InternalNode node = new InternalNode(id, new Label(target.getLabel())); if (this.graphBuilder.addNode(node)) { n2 = node; LiteralNode lTarget = (LiteralNode)target; String id = nodeIdFactory.getNodeId(lTarget.getValue()); LiteralNode node = new LiteralNode(id, lTarget.getValue(), new Label(target.getLabel()), lTarget.getLanguage(), lTarget.isUri()); if (this.graphBuilder.addNode(node)) { n2 = node; String id = LinkIdFactory.getLinkId(e.getLabel().getUri(), n1.getId(), n2.getId()); if (e instanceof DataPropertyLink) link = new DataPropertyLink(id, e.getLabel()); if (!n1.getModelIds().contains(modelId)) n1.getModelIds().add(modelId); if (!n2.getModelIds().contains(modelId)) n2.getModelIds().add(modelId);
Collections.sort(idSortedLinks); for (LabeledLink l : idSortedLinks) { key = l.getSource().getUri() + l.getUri() + l.getTarget().getUri(); if (this.graphBuilder.getPatternLinks().get(key) != null) { sortedLinks.add(l); sourceUri = source.getUri(); targetUri = target.getUri(); linkUri = e.getUri(); mapping.put(source,n1); mapping.put(target, n2); mappedNodes.add(n1.getId()); mappedNodes.add(n2.getId()); break; for (LabeledLink l : matchedLinks) { if (!mappedLinks.contains(l.getId()) && !mappedNodes.contains(l.getSource().getId()) && l.getTarget().getId().equalsIgnoreCase(n2.getId())) { mappedLinks.add(l.getId()); n1 = l.getSource(); mapping.put(source,n1); mappedNodes.add(n1.getId()); break; for (LabeledLink l : matchedLinks) { if (!mappedLinks.contains(l.getId()) && !mappedNodes.contains(l.getTarget().getId()) &&
if (n1.equals(n2)) continue; if (this.visitedSourceTargetPairs.contains(n1.getId() + n2.getId())) continue; if (this.visitedSourceTargetPairs.contains(n2.getId() + n1.getId())) continue; target = n2; sourceUri = source.getUri(); targetUri = target.getUri(); id1 = LinkIdFactory.getLinkId(Uris.DEFAULT_LINK_URI, source.getId(), target.getId()); id2 = LinkIdFactory.getLinkId(Uris.DEFAULT_LINK_URI, target.getId(), source.getId()); CompactLink link = null; this.visitedSourceTargetPairs.add(n1.getId() + n2.getId()); logger.debug("did not put a link between (" + n1.getId() + ", " + n2.getId() + ")");
for (Node n : treeModel.vertexSet()) { if (n instanceof ColumnNode) { logger.debug("Node " + n.getLocalId() + " is a column node."); hNodeId = ((ColumnNode)n).getHNodeId(); } else { logger.debug("Node " + n.getLocalId() + " is an intermediate node."); String variableId = "v" + String.valueOf(variables.size() + 1); variables.add(variableId); vertexIdToArgument.put(n.getId(), new Argument(variableId, variableId, ArgumentType.VARIABLE)); continue; logger.error("No attribute is associated to the column with semantic type " + n.getId()); continue; vertexIdToArgument.put(n.getId(), new Argument(att.getId(), att.getId(), ArgumentType.ATTRIBUTE));