Package org.wymiwyg.rdf.molecules.impl

Examples of org.wymiwyg.rdf.molecules.impl.ContextualMoleculeImpl


          object);
      if (subject instanceof GroundedNode) {
        if (object instanceof GroundedNode) {
          terminalMolecules.add(new TerminalMoleculeImpl(triple));
        } else {
          ContextualMoleculeImpl contextualMolecule = contextualMoleculeMap.get(object);
          if (contextualMolecule == null) {
            contextualMolecule = new ContextualMoleculeImpl();
            contextualMoleculeMap.put(object, contextualMolecule);
          }
          contextualMolecule.add(triple);
        }
      } else {
        if (object instanceof GroundedNode) {
          ContextualMoleculeImpl contextualMolecule = contextualMoleculeMap.get(subject);
          if (contextualMolecule == null) {
            contextualMolecule = new ContextualMoleculeImpl();
            contextualMoleculeMap.put(subject, contextualMolecule);
          }
          contextualMolecule.add(triple);
        } else {
          ContextualMoleculeImpl contextualMoleculeForSubject = contextualMoleculeMap.get(subject);
          ContextualMoleculeImpl contextualMoleculeForObject = contextualMoleculeMap.get(object);

          if ((contextualMoleculeForSubject == null) && (contextualMoleculeForObject == null)) {
            ContextualMoleculeImpl contextualMolecule = new ContextualMoleculeImpl();
            contextualMoleculeMap.put(subject, contextualMolecule);
            contextualMoleculeMap.put(object, contextualMolecule);
            contextualMolecule.add(triple);
          } else {
            if (contextualMoleculeForSubject == null) {
              contextualMoleculeMap.put(subject, contextualMoleculeForObject);
              contextualMoleculeForObject.add(triple);
            } else {
              if (contextualMoleculeForObject == null) {
                contextualMoleculeMap.put(object, contextualMoleculeForSubject);
                contextualMoleculeForSubject.add(triple);
              } else {
                Node[] ubngn = contextualMoleculeForObject.getUsedButNotGroundedNodes();
                //all other have to reference to the modified contextualMolecule as well
                contextualMoleculeForSubject.add(triple);
                for (Node node : ubngn) {
                  ContextualMoleculeImpl moleculeToBeAbsorbed = contextualMoleculeMap.get(node);
                  if (moleculeToBeAbsorbed != null) {
                    contextualMoleculeForSubject.addAll(moleculeToBeAbsorbed);
                  }
                  contextualMoleculeMap.put(node, contextualMoleculeForSubject);
                }
              }
            }
          }
        }
      }
    }
    functionallyGroundedNodes = new HashSet<FunctionallyGroundedNode>(
        fgNodesMap.size());
    functionallyGroundedNodes.addAll(fgNodesMap.values());
    fgNodesMap = null;
    contextualMolecules = new HashSet<MaximumContextualMolecule>();
    final Iterator<ContextualMoleculeImpl> iterator = contextualMoleculeMap.values().iterator();
    while (iterator.hasNext()) {
      ContextualMoleculeImpl molecule = iterator.next();
      molecule.markFinalized();
      contextualMolecules.add(molecule);
    }

  }
View Full Code Here


  /* (non-Javadoc)
   * @see org.wymiwyg.rdf.molecules.diff.MoleculeFactory#createMolecule()
   */
  public MaximumContextualMolecule createMolecule() {
    return new ContextualMoleculeImpl();
  }
View Full Code Here

  private static void replaceInContextualMolecules(Set<MaximumContextualMolecule> contextualMolecules, Set<? extends Node> replacingNodes, FunctionallyGroundedNode newNode) {
    Set<MaximumContextualMolecule> newContextualMolecules = new HashSet<MaximumContextualMolecule>();
    for (Iterator<MaximumContextualMolecule> iter = contextualMolecules.iterator(); iter.hasNext();) {
      MaximumContextualMolecule current = iter.next();
      try {
        ContextualMoleculeImpl newMolecule = new ContextualMoleculeImpl();
        newMolecule.addAll(GraphUtil.replaceNode(current, replacingNodes, newNode));
        newMolecule.markFinalized();
        iter.remove();
        newContextualMolecules.add(newMolecule);
      } catch (SourceNodeNotFoundException e) {
        //nothing, did not remove
      }
View Full Code Here

   * @throws IOException
   */
  private MaximumContextualMolecule getContextualMoleculeFromPathNode(
      PathNode dirPathNode, String name) throws IOException {

    ContextualMoleculeImpl molecule = new ContextualMoleculeImpl();
    molecule.addAll(getTriplesFromPathNode(dirPathNode, name));
    molecule.markFinalized();
    return molecule;
  }
View Full Code Here

      contextualMolecules = new HashSet<MaximumContextualMolecule>();
      for (Iterator<Graph> iter = leanifiedMolecules.iterator(); iter
          .hasNext();) {
        Graph current = iter.next();
        if (!isSubgrapgOfOther(current, leanifiedMolecules)) {
          ContextualMoleculeImpl contextualMolecule = new ContextualMoleculeImpl();
          contextualMolecule.addAll(current);
          contextualMolecule.markFinalized();
          contextualMolecules.add(contextualMolecule);
        } else {
          iter.remove();
        }
      }
    }
    Map<FunctionallyGroundedNode, FunctionallyGroundedNode> fgNodeMap = new HashMap<FunctionallyGroundedNode, FunctionallyGroundedNode>();
    for (FunctionallyGroundedNode fgNode : refDec
        .getFunctionallyGroundedNodes()) {
      fgNodeMap.put(fgNode, fgNode);
    }
   
    fgNodeMap = FgNodeMerger.mergeFgNodes(fgNodeMap);

    boolean nodeReplaced = false;
    Set<TerminalMolecule> terminalMolecules = refDec.getTerminalMolecules();
    //TODO iterate over molecules
    for (Entry<FunctionallyGroundedNode, FunctionallyGroundedNode> entry : fgNodeMap
        .entrySet()) {
      FunctionallyGroundedNode orig = entry.getKey();
      FunctionallyGroundedNode current = entry.getValue();
      if (!current.equals(orig)) {
        Set<MaximumContextualMolecule> newContextualModelcules = new HashSet<MaximumContextualMolecule>();
        for (MaximumContextualMolecule maximumContextualMolecule : contextualMolecules) {
          try {
            ContextualMoleculeImpl replacement = new ContextualMoleculeImpl();
            new GraphUtil<MaximumContextualMolecule>()
                .replaceNode(maximumContextualMolecule, orig,
                    current, replacement);
            replacement.markFinalized();
            newContextualModelcules.add(replacement);
            nodeReplaced = true;
          } catch (SourceNodeNotFoundException e) {
            newContextualModelcules.add(maximumContextualMolecule);
            log.debug("source not found");
          }
        }
        contextualMolecules = newContextualModelcules;
        Set<TerminalMolecule> newTerminalMolecules = new HashSet<TerminalMolecule>();
        for (TerminalMolecule terminalMolecule : terminalMolecules) {
          try {
            SimpleTerminalMolecule replacement = new SimpleTerminalMolecule();
            new GraphUtil<TerminalMolecule>()
                .replaceNode(terminalMolecule, orig, current,
                    replacement);
            replacement.markFinalized();
            newTerminalMolecules.add(replacement);
            nodeReplaced = true;
          } catch (SourceNodeNotFoundException e) {
            newTerminalMolecules.add(terminalMolecule);
            log.debug("source not found");
View Full Code Here

TOP

Related Classes of org.wymiwyg.rdf.molecules.impl.ContextualMoleculeImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.