Package org.wymiwyg.rdf.graphs

Examples of org.wymiwyg.rdf.graphs.Triple


                  Graph deNaturalized = deNaturalize(graphFromModel);
                  if (deNaturalized.size() > 1) {
                    throw new RuntimeException(
                        "nt-molecules should be of size 1");
                  }
                  Triple triple = deNaturalized.iterator()
                      .next();
                  Node subject = triple.getSubject();
                  if (!(subject instanceof GroundedNode)) {
                    subject = NonTerminalMolecule.GROUNDED_NODE;
                  }
                  Node object = triple.getObject();
                  if (!(object instanceof GroundedNode)) {
                    object = NonTerminalMolecule.GROUNDED_NODE;
                  }
                  SimpleGraph result = new SimpleGraph();
                  result.add(new TripleImpl(subject, triple
                      .getPredicate(), object));
                  result.markFinalized();
                  return result;
                }
View Full Code Here


            downloadAttemptNode = triple.getSubject();
            break;
          }
        }
        for (Iterator<Triple> iter = oldWorkingGraph.iterator(); iter.hasNext();) {
          Triple triple = iter.next();
          //x.equals(null) should return false, making the first condition obsolete
          if ((downloadAttemptNode == null) || !triple.getSubject().equals(downloadAttemptNode)) {
            newWorkingGraph.add(triple);
          }
        }
        newWorkingGraph.addAll(logEntryGraph);
        newWorkingGraph.markFinalized();
View Full Code Here

    FunctionallyGroundedNodeImpl result = new FunctionallyGroundedNodeImpl();
    Node afgn = new NodeImpl();
    SimpleNonTerminalMolecule molecule = new SimpleNonTerminalMolecule(afgn);
    String uriString = node.getURIRef();
    LiteralNode uriLit = new TypedLiteralNodeImpl(uriString, anyURIDataType);
    Triple triple = new TripleImpl(afgn, nameProp, uriLit);
    molecule.add(triple);
    molecule.markFinalized();
    result.addMolecule(molecule);
    result.markFinalized();
    result.notifyAllFinalized();
View Full Code Here

    return result;
  }

  private NonTerminalMolecule functionalyze(NonTerminalMolecule molecule) {
    SimpleNonTerminalMolecule result = new SimpleNonTerminalMolecule(NonTerminalMolecule.GROUNDED_NODE);
    Triple origTriple = molecule.iterator().next();
    Node subject = origTriple.getSubject();
    if (subject instanceof GroundedNode) {
      subject = functionalyze((GroundedNode)subject);
    }
    Node object = origTriple.getObject();
    if (object instanceof GroundedNode) {
      object = functionalyze((GroundedNode)object);
    }
    Triple newTriple = new TripleImpl(subject, origTriple.getPredicate(), object);
    result.add(newTriple);
    return result;
  }
View Full Code Here

   * @param nodeReplacementMap
   * @return
   */
  private static Triple processTriple(Node afgn, Triple originalTriple,
      Map<Node, FunctionallyGroundedNodeImpl> nodeReplacementMap) {
    Triple triple;
    Node subject = originalTriple.getSubject();
    Node object = originalTriple.getObject();
    if (subject.equals(afgn)) {
      subject = GROUNDED_NODE;
    } else {
View Full Code Here

      final Node groundedNode = entry.getKey();
      FunctionallyGroundedNodeImpl functionallyGroundedNodeImpl = resultMap.get(groundedNode);
      Set<Triple> groundingTriples = entry.getValue();
      Iterator<Triple> iterator = groundingTriples.iterator();
      while (iterator.hasNext()) {
        Triple triple = iterator.next();
        NonTerminalMoleculeImpl nonTerminalMolecule = new NonTerminalMoleculeImpl(
            groundedNode, triple, resultMap);
        functionallyGroundedNodeImpl.addGroundingMolecule(nonTerminalMolecule);
        finalizableObjects.add((Finalizable) nonTerminalMolecule);
      }
View Full Code Here

  }

  private static void serializeMolecule(NonTerminalMolecule molecule,
      ArrayList<FunctionallyGroundedNode> visitedFgNodes,
      StringWriter writer) {
    Triple triple = molecule.iterator().next();
    Node groundingNode;
    if (triple.getSubject() != NonTerminalMolecule.GROUNDED_NODE) {
      writer.append('i');
      groundingNode = triple.getSubject();
    } else {
      groundingNode = triple.getObject();
    }
    writer.append('<');
    writer.append(triple.getPredicate().getURIRef());
    writer.append('>');
    writer.append(' ');
    if (groundingNode instanceof FunctionallyGroundedNode) {
      serialize((FunctionallyGroundedNode) groundingNode,
          visitedFgNodes, writer);
View Full Code Here

        boolean moleculeReplaced = false;
        Set<NonTerminalMolecule> moleculesOfNewNode = new HashSet<NonTerminalMolecule>();
        for (NonTerminalMolecule molecule : node
            .getGroundingMolecules()) {
          NonTerminalMoleculeImpl replacementMolecule = null;
          Triple triple = molecule.iterator().next(); // nt-molecules
          // have exactly
          // one element
          Node subject = triple.getSubject();
          if (subject != NonTerminalMolecule.GROUNDED_NODE) {
            Node replacementSubject = old2NewMap.get(subject);
            if (replacementSubject != null) {
              replacementMolecule = new NonTerminalMoleculeImpl(
                  new TripleImpl(replacementSubject, triple
                      .getPredicate(),
                      NonTerminalMolecule.GROUNDED_NODE));
            }
          } else {
            Node replacementObject = old2NewMap.get(triple
                .getObject());
            if (replacementObject != null) {
              replacementMolecule = new NonTerminalMoleculeImpl(
                  new TripleImpl(
                      NonTerminalMolecule.GROUNDED_NODE,
                      triple.getPredicate(),
                      replacementObject));
            }

          }
          if (replacementMolecule != null) {
View Full Code Here

  public String toString() {
    StringWriter out = new StringWriter();
    PrintWriter pout = new PrintWriter(out);
    for (Iterator iter = iterator(); iter.hasNext();) {
      Triple statement = (Triple) iter.next();
      pout.println(statement);
    }
    pout.flush();
    return out.toString();
  }
View Full Code Here

   * @param replacementMap
   * @param fgNodesGraph the graph to which the triples resulting from fg-node naturalization are added
   */
  private void addGraphTriples(Graph graph, boolean addReferencedFgNodes, Naturalizer naturalizer, Map<Set<NonTerminalMolecule>, Node> replacementMap, Graph fgNodesGraph) {
    for (Iterator iter = graph.iterator(); iter.hasNext();) {
      Triple triple = (Triple) iter.next();
      Node subject = triple.getSubject();
      if (subject instanceof FunctionallyGroundedNode) {
        if (addReferencedFgNodes) {
          Node replacement = replacementMap.get(((FunctionallyGroundedNode) subject).getGroundingMolecules()); // (Node)fg2NormalNodeMap.get(object);
          if (replacement == null) {
            Set<NonTerminalMolecule> groundingMolecules = ((FunctionallyGroundedNode) subject).getGroundingMolecules();
            subject = addFgNodeMolecules((FunctionallyGroundedNode) subject, naturalizer, fgNodesGraph);
            replacementMap.put(groundingMolecules, subject);
          } else {
            subject = replacement;
          }
        } else {
          Node replacement = replacementMap.get(((FunctionallyGroundedNode) subject).getGroundingMolecules());
          if (replacement == null) {
            log.error("no replacement found for the fg-node: "+ subject);
            throw new RuntimeException("no replacement found for the fg-node: "+ subject);
          }
          subject = replacement;
        }
      } else {
        if (subject instanceof GroundedNode) {
          if (!(subject instanceof NaturallyGroundedNode)) {
            throw new RuntimeException("Cannot naturalize subject node of type "+subject.getClass());
          }
        }
      }
      Node object = triple.getObject();
      if (object instanceof FunctionallyGroundedNode) {
        if (addReferencedFgNodes) {
          Node replacement = replacementMap.get(((FunctionallyGroundedNode) object).getGroundingMolecules()); // (Node)fg2NormalNodeMap.get(object);
          if (replacement == null) {
            Set<NonTerminalMolecule> groundingMolecules = ((FunctionallyGroundedNode) object).getGroundingMolecules();
            object = addFgNodeMolecules((FunctionallyGroundedNode) object, naturalizer, fgNodesGraph);
            replacementMap.put(groundingMolecules, object);
          } else {
            object = replacement;
          }
         
        } else {
          Node replacement = (replacementMap).get(new HashSet<NonTerminalMolecule>(((FunctionallyGroundedNode) object).getGroundingMolecules())); // (Node)fg2NormalNodeMap.get(object);
          if (replacement == null) {
            throw new NoReplacementFoundException("no replacement found for the fg-node: "+ object, (FunctionallyGroundedNode) object);
          }
          object = replacement;
        }
      } else {
        if (object instanceof GroundedNode) {
          if (!(object instanceof NaturallyGroundedNode)) {
            throw new RuntimeException("Cannot naturalize object node of type "+object.getClass());
          }
        }
      }
      doAdd(new TripleImpl(subject, triple.getPredicate(), object));
    }
    finalized = true;
  }
View Full Code Here

TOP

Related Classes of org.wymiwyg.rdf.graphs.Triple

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.