// Path: rdfagents-jade/src/test/java/net/fortytwo/rdfagents/RDFAgentsTestCase.java
// public abstract class RDFAgentsTestCase extends TestCase {
//     protected AgentId sender, receiver;
//     protected IRI resourceX = RDFAgents.createIRI("http://example.org/resourceX");
//     protected Literal plainLiteralX = new LiteralImpl("Don't panic.");
//     protected Literal typedLiteralX = new LiteralImpl("Don't panic.", XMLSchema.STRING);
//     protected Literal languageLiteralX = new LiteralImpl("Don't panic.", "en");
// 
//     protected static final String NS = "http://example.org/ns#";
//     protected static final IRI
//             ARTHUR = RDFAgents.createIRI(NS + "arthur");
// 
//     protected Sail sail;
//     protected DatasetFactory datasetFactory;
//     protected MessageFactory messageFactory;
// 
//     @Override
//     public void setUp() throws Exception {
//         IRI senderName = RDFAgents.createIRI("http://example.org/agentA");
//         IRI[] senderAddresses = new IRI[]{
//                 RDFAgents.createIRI("mailto:agentA@example.org"),
//                 RDFAgents.createIRI("xmpp:agentA@example.org")};
//         sender = new AgentId(senderName, senderAddresses);
// 
//         IRI receiverName = RDFAgents.createIRI("http://example.org/agentB");
//         IRI[] receiverAddresses = new IRI[]{
//                 RDFAgents.createIRI("mailto:agentB@example.org"),
//                 RDFAgents.createIRI("xmpp:agentB@example.org")};
//         receiver = new AgentId(receiverName, receiverAddresses);
// 
//         datasetFactory = new DatasetFactory(new ValueFactoryImpl());
//         for (RDFContentLanguage l : RDFContentLanguage.values()) {
//             datasetFactory.addLanguage(l);
//         }
//         Dataset d;
//         try (InputStream in = RDFAgents.class.getResourceAsStream("dummyData.trig")) {
//             d = datasetFactory.parse(in, RDFContentLanguage.RDF_TRIG);
//         }
// 
//         sail = new MemoryStore();
//         sail.initialize();
//         datasetFactory.addToSail(d, sail);
// 
//         messageFactory = new MessageFactory(datasetFactory);
//     }
// 
//     @Override
//     public void tearDown() throws Exception {
//         sail.shutDown();
//     }
// 
//     protected void showDataset(final Dataset d) throws Exception {
//         RDFWriter w = Rio.createWriter(RDFFormat.TRIG, System.out);
//         w.startRDF();
//         d.getStatements().forEach(w::handleStatement);
//         w.endRDF();
//     }
// }
// 
// Path: rdfagents-core/src/main/java/net/fortytwo/rdfagents/model/Dataset.java
// public class Dataset {
//     public static final String UUID_URN_PREFIX = "urn:uuid:";
// 
//     private final Collection<Statement> statements;
// 
//     public Dataset(Collection<Statement> statements) {
//         this.statements = statements;
//     }
// 
//     public Collection<Statement> getStatements() {
//         return statements;
//     }
// }


import net.fortytwo.rdfagents.RDFAgentsTestCase;
import net.fortytwo.rdfagents.model.Dataset;
package net.fortytwo.rdfagents.data;


/**
 * @author Joshua Shinavier (http://fortytwo.net)
 */
public class RecursiveDescribeQueryTest extends RDFAgentsTestCase {

    public void testAll() throws Exception {
        DatasetQuery q = new RecursiveDescribeQuery(ARTHUR, sail);
        Dataset arthur = q.evaluate();

// Path: rdfagents-jade/src/test/java/net/fortytwo/rdfagents/RDFAgentsTestCase.java
// public abstract class RDFAgentsTestCase extends TestCase {
//     protected AgentId sender, receiver;
//     protected IRI resourceX = RDFAgents.createIRI("http://example.org/resourceX");
//     protected Literal plainLiteralX = new LiteralImpl("Don't panic.");
//     protected Literal typedLiteralX = new LiteralImpl("Don't panic.", XMLSchema.STRING);
//     protected Literal languageLiteralX = new LiteralImpl("Don't panic.", "en");
// 
//     protected static final String NS = "http://example.org/ns#";
//     protected static final IRI
//             ARTHUR = RDFAgents.createIRI(NS + "arthur");
// 
//     protected Sail sail;
//     protected DatasetFactory datasetFactory;
//     protected MessageFactory messageFactory;
// 
//     @Override
//     public void setUp() throws Exception {
//         IRI senderName = RDFAgents.createIRI("http://example.org/agentA");
//         IRI[] senderAddresses = new IRI[]{
//                 RDFAgents.createIRI("mailto:agentA@example.org"),
//                 RDFAgents.createIRI("xmpp:agentA@example.org")};
//         sender = new AgentId(senderName, senderAddresses);
// 
//         IRI receiverName = RDFAgents.createIRI("http://example.org/agentB");
//         IRI[] receiverAddresses = new IRI[]{
//                 RDFAgents.createIRI("mailto:agentB@example.org"),
//                 RDFAgents.createIRI("xmpp:agentB@example.org")};
//         receiver = new AgentId(receiverName, receiverAddresses);
// 
//         datasetFactory = new DatasetFactory(new ValueFactoryImpl());
//         for (RDFContentLanguage l : RDFContentLanguage.values()) {
//             datasetFactory.addLanguage(l);
//         }
//         Dataset d;
//         try (InputStream in = RDFAgents.class.getResourceAsStream("dummyData.trig")) {
//             d = datasetFactory.parse(in, RDFContentLanguage.RDF_TRIG);
//         }
// 
//         sail = new MemoryStore();
//         sail.initialize();
//         datasetFactory.addToSail(d, sail);
// 
//         messageFactory = new MessageFactory(datasetFactory);
//     }
// 
//     @Override
//     public void tearDown() throws Exception {
//         sail.shutDown();
//     }
// 
//     protected void showDataset(final Dataset d) throws Exception {
//         RDFWriter w = Rio.createWriter(RDFFormat.TRIG, System.out);
//         w.startRDF();
//         d.getStatements().forEach(w::handleStatement);
//         w.endRDF();
//     }
// }
// 
// Path: rdfagents-core/src/main/java/net/fortytwo/rdfagents/model/Dataset.java
// public class Dataset {
//     public static final String UUID_URN_PREFIX = "urn:uuid:";
// 
//     private final Collection<Statement> statements;
// 
//     public Dataset(Collection<Statement> statements) {
//         this.statements = statements;
//     }
// 
//     public Collection<Statement> getStatements() {
//         return statements;
//     }
// }


// Path: rdfagents-jade/src/test/java/net/fortytwo/rdfagents/data/RecursiveDescribeQueryTest.java
import net.fortytwo.rdfagents.RDFAgentsTestCase;
import net.fortytwo.rdfagents.model.Dataset;

package net.fortytwo.rdfagents.data;


/**
 * @author Joshua Shinavier (http://fortytwo.net)
 */
public class RecursiveDescribeQueryTest extends RDFAgentsTestCase {

    public void testAll() throws Exception {
        DatasetQuery q = new RecursiveDescribeQuery(ARTHUR, sail);
        Dataset arthur = q.evaluate();

        Dataset r = datasetFactory.receiveDataset(arthur, sender);