/* (non-Javadoc) * @see org.swows.producer.GraphProducer#createGraph(org.apache.jena.sparql.core.DatasetGraph) */ @Override public DynamicGraph createGraph(final DynamicDataset inputDataset) { Query query = queryProducer.createQuery(inputDataset); if (query == null) throw new RuntimeException("Query not found"); // DatasetGraph queryDatasetGraph = // new DatasetGraphCollection() { // private Map<Node, Graph> loadedNamedGraphs = new HashMap<Node, Graph>(); // private Graph loadedDefaultGraph = null; // @Override // public Graph getGraph(Node graphNode) { // if (loadedNamedGraphs.containsKey(graphNode)) // return loadedNamedGraphs.get(graphNode); // if (prodMap.containsKey(graphNode)) { // Graph newGraph = prodMap.get(graphNode).createGraph(inputDataset); // loadedNamedGraphs.put(graphNode, newGraph); // return newGraph; // } // throw new RuntimeException("Named Graph " + graphNode.getURI() + " not found"); // } // @Override // public Graph getDefaultGraph() { // if (loadedDefaultGraph != null) // return loadedDefaultGraph; // loadedDefaultGraph = Graph.emptyGraph; // if (defaultProd != null) { // loadedDefaultGraph = defaultProd.createGraph(inputDataset); // } // return loadedDefaultGraph; // } // @Override // public Iterator<Node> listGraphNodes() { // return prodMap.keySet().iterator(); // } // }; // Dataset queryDataset = DatasetFactory.create(queryDatasetGraph); /* QueryExecution queryExecution = ARQFactory.get().createQueryExecution(query, queryDataset, null); Graph resultGraph = queryExecution.execConstruct().getGraph(); */ DynamicDataset queryDatasetGraph = inputProducer.createDataset(inputDataset); return new SparqlConstructGraph(query, queryDatasetGraph); }
/* (non-Javadoc) * @see org.swows.producer.Producer#dependsFrom(org.swows.producer.Producer) */ public boolean dependsFrom(RDFProducer producer) { return (inputProducer != null && inputProducer.dependsFrom(producer)); // || (queryProducer != null && configProducer.dependsFrom(producer)); }