Package org.openrdf.repository

Examples of org.openrdf.repository.RepositoryConnection


  public static void extractDataProperties(Repository repository, String GraphIRI, String filename) {

    try {
      PrintWriter resultFile = new PrintWriter(new File(filename));
      RepositoryConnection con = repository.getConnection();
      try {

        long start = System.currentTimeMillis();
        String from = GraphIRI == null || GraphIRI.trim().isEmpty() ? "" : "FROM <" + GraphIRI + "> ";

        String queryString =
            "SELECT DISTINCT ?c ?p (COUNT(?p) as ?count) " +
                from +
                "WHERE { ?x rdf:type ?c. " +
                "?x ?p ?y. " +
                "FILTER isLiteral(?y). " +
                "FILTER(!STRSTARTS(STR(?c), \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\")) " +
                "FILTER(!STRSTARTS(STR(?c), \"http://www.w3.org/2000/01/rdf-schema#\")) " +
                "FILTER(!STRSTARTS(STR(?c), \"http://www.w3.org/2002/07/owl#\")) " +
                "} " +
                "GROUP BY ?c ?p";

        System.out.println(queryString);

        TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
        TupleQueryResult result = tupleQuery.evaluate();
        try {
          while (result.hasNext()) {
            BindingSet bindingSet = result.next();
            Value valueOfC = bindingSet.getValue("c");
            Value valueOfP = bindingSet.getValue("p");
            Value valueOfCount = bindingSet.getValue("count");

            if (valueOfC != null) {
              System.out.print(valueOfC.stringValue() + "\t");
              resultFile.print(valueOfC.stringValue() + ",");
            }
            if (valueOfP != null) {
              System.out.println(valueOfP.stringValue() + "\t");
              resultFile.print(valueOfP.stringValue() + ",");
            }
            if (valueOfCount != null) {
              System.out.println(valueOfCount.stringValue() + "\t");
              resultFile.print(valueOfCount.stringValue());
            }
            System.out.println();
            resultFile.print("\n");
         
        } finally {
          long responseTime = System.currentTimeMillis() - start;
          logger.info("response time: " + (responseTime/1000F));
          result.close();
        }

      } catch (MalformedQueryException e) {
        e.printStackTrace();
      } catch (QueryEvaluationException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
      } finally {
        con.close();
        resultFile.close();
      }

    }
    catch (RepositoryException e) {
View Full Code Here


        //     PropertyRecord rec = (PropertyRecord)recIt.next();
        //     if (rec.valueType.equalsIgnoreCase("url")) urls.add(rec.id);
        // }

        try {
            RepositoryConnection con = getRepository().getConnection();
            RepositoryResult<Statement> result = con.getStatements(null,null,null,false);

            String out = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><style>span {padding:4px}</style><title>"+title+"</title></head><body>";
            int itemCount = 0;
            Resource prevS = null; URI prevP = null; Value prevO = null;
            while (result.hasNext() && itemCount <= limit) {
View Full Code Here

      Global.log().warning("Failed to write result to temporary file");
      return;
    }
   
    Repository tempRepository = new SailRepository(new MemoryStore());
    RepositoryConnection conn = null;
    try {
      tempRepository.initialize();
      conn = tempRepository.getConnection();
    } catch (RepositoryException e1) {
      Global.log().warning("Failed to create repository for merging");
      return;
    }
 
    try {
      conn.add(originalRDF, baseURI, format);
    } catch (Exception e) {
      Global.log().warning("Failed to parse original RDF");
    }
   
    try {
      conn.add(tempFile, baseURI, format);
    } catch (Exception e) {
      Global.log().warning("Failed to parse temporary file");
    }
   
    FileWriter writer;
    try {
      writer = new FileWriter(targetFile);
      RDFWriter rdfWriter = Rio.createWriter(format, writer);
      conn.export(rdfWriter);
      conn.close();
    } catch (Exception e) {
      Global.log().warning("Failed to write the end results");
    }    
   
   
View Full Code Here

        // base data
        InputStream baseData = this.getClass().getResourceAsStream("version-base.rdf");
        assumeThat("Could not load test-data: version-base.rdf", baseData, notNullValue(InputStream.class));

        RepositoryConnection connectionBase = repository.getConnection();
        try {
            connectionBase.add(baseData, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionBase.commit();
        } finally {
            connectionBase.close();
        }

        mysqlSleep();

        Date date2 = new Date();

        mysqlSleep();

        // update 1
        InputStream update1Data = this.getClass().getResourceAsStream("version-update1.rdf");
        assumeThat("Could not load test-data: version-update1.rdf", update1Data, notNullValue(InputStream.class));

        RepositoryConnection connectionUpdate1 = repository.getConnection();
        try {
            connectionUpdate1.add(update1Data, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionUpdate1.commit();
        } finally {
            connectionUpdate1.close();
        }

        // update 2
        InputStream update2Data = this.getClass().getResourceAsStream("version-update2.rdf");
        assumeThat("Could not load test-data: version-update2.rdf", update2Data, notNullValue(InputStream.class));

        RepositoryConnection connectionUpdate2 = repository.getConnection();
        try {
            connectionUpdate2.add(update2Data, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionUpdate2.commit();
        } finally {
            connectionUpdate2.close();
        }

        // list all versions
        List<Version> versions = asList(vsail.listVersions());
        Assert.assertEquals("expected 3 versions!", 3, versions.size());
View Full Code Here

        // base data
        InputStream baseData = this.getClass().getResourceAsStream("version-base.rdf");
        assumeThat("Could not load test-data: version-base.rdf", baseData, notNullValue(InputStream.class));

        RepositoryConnection connectionBase = repository.getConnection();
        try {
            connectionBase.add(baseData, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionBase.commit();
        } finally {
            connectionBase.close();
        }

        Thread.sleep(1000);

        Date date2 = new Date();

        Thread.sleep(1000);

        // update 1
        InputStream update1Data = this.getClass().getResourceAsStream("version-update1.rdf");
        assumeThat("Could not load test-data: version-update1.rdf", update1Data, notNullValue(InputStream.class));

        RepositoryConnection connectionUpdate1 = repository.getConnection();
        try {
            connectionUpdate1.add(update1Data, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionUpdate1.commit();
        } finally {
            connectionUpdate1.close();
        }

        Thread.sleep(1000);

        Date date3 = new Date();

        Thread.sleep(1000);


        // update 2
        InputStream update2Data = this.getClass().getResourceAsStream("version-update2.rdf");
        assumeThat("Could not load test-data: version-update2.rdf", update2Data, notNullValue(InputStream.class));

        RepositoryConnection connectionUpdate2 = repository.getConnection();
        try {
            connectionUpdate2.add(update2Data, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionUpdate2.commit();
        } finally {
            connectionUpdate2.close();
        }


        // test snapshot connection for date2 (i.e. after base import and before updates)
        RepositoryConnection snapshot1 = repository.getSnapshot(date2);

        // query all triples for http://marmotta.apache.org/testing/ns1/R1, should be exactly 3
        List<Statement> s1_r1_triples = asList(snapshot1.getStatements(repository.getValueFactory().createURI("http://marmotta.apache.org/testing/ns1/R1"), null, null, true));
        Assert.assertEquals(3, s1_r1_triples.size());

        // query all triples for http://marmotta.apache.org/testing/ns1/R2, should be zero
        List<Statement> s1_r2_triples = asList(snapshot1.getStatements(repository.getValueFactory().createURI("http://marmotta.apache.org/testing/ns1/R2"), null, null, true));
        Assert.assertEquals(0, s1_r2_triples.size());

        snapshot1.commit();
        snapshot1.close();

        // test snapshot connection for date3 (i.e. after first update)
        RepositoryConnection snapshot2 = repository.getSnapshot(date3);

        // query all triples for http://marmotta.apache.org/testing/ns1/R1, should be exactly 4
        List<Statement> s2_r1_triples = asList(snapshot2.getStatements(repository.getValueFactory().createURI("http://marmotta.apache.org/testing/ns1/R1"), null, null, true));
        Assert.assertEquals(3, s2_r1_triples.size());

        // query all triples for http://marmotta.apache.org/testing/ns1/R2, should be 3
        List<Statement> s2_r2_triples = asList(snapshot2.getStatements(repository.getValueFactory().createURI("http://marmotta.apache.org/testing/ns1/R2"), null, null, true));
        Assert.assertEquals(3, s2_r2_triples.size());

        snapshot2.commit();
        snapshot2.close();


        // test snapshot connection for now (i.e. after both updates)
        RepositoryConnection snapshot3 = repository.getSnapshot(new Date());

        // query all triples for http://marmotta.apache.org/testing/ns1/R1, should be exactly 4
        List<Statement> s3_r1_triples = asList(snapshot3.getStatements(repository.getValueFactory().createURI("http://marmotta.apache.org/testing/ns1/R1"), null, null, true));
        Assert.assertEquals(4, s3_r1_triples.size());

        // query all triples for http://marmotta.apache.org/testing/ns1/R2, should be 3
        List<Statement> s3_r2_triples = asList(snapshot3.getStatements(repository.getValueFactory().createURI("http://marmotta.apache.org/testing/ns1/R2"), null, null, true));
        Assert.assertEquals(3, s3_r2_triples.size());

        snapshot3.commit();
        snapshot3.close();

    }
View Full Code Here

        // base data
        InputStream baseData = this.getClass().getResourceAsStream("version-base.rdf");
        assumeThat("Could not load test-data: version-base.rdf", baseData, notNullValue(InputStream.class));

        RepositoryConnection connectionBase = repository.getConnection();
        try {
            connectionBase.add(baseData, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionBase.commit();
        } finally {
            connectionBase.close();
        }

        Thread.sleep(1000);

        Date date2 = new Date();

        Thread.sleep(1000);

        // update 1
        InputStream update1Data = this.getClass().getResourceAsStream("version-update1.rdf");
        assumeThat("Could not load test-data: version-update1.rdf", update1Data, notNullValue(InputStream.class));

        RepositoryConnection connectionUpdate1 = repository.getConnection();
        try {
            connectionUpdate1.add(update1Data, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionUpdate1.commit();
        } finally {
            connectionUpdate1.close();
        }

        Thread.sleep(1000);

        Date date3 = new Date();

        Thread.sleep(1000);


        // update 2
        InputStream update2Data = this.getClass().getResourceAsStream("version-update2.rdf");
        assumeThat("Could not load test-data: version-update2.rdf", update2Data, notNullValue(InputStream.class));

        RepositoryConnection connectionUpdate2 = repository.getConnection();
        try {
            connectionUpdate2.add(update2Data, "http://marmotta.apache.org/testing/ns1/", RDFFormat.RDFXML);
            connectionUpdate2.commit();
        } finally {
            connectionUpdate2.close();
        }


        // test snapshot connection for date2 (i.e. after base import and before updates)
        RepositoryConnection snapshot1 = repository.getSnapshot(date2);

        // query all triples for http://marmotta.apache.org/testing/ns1/R1, should be exactly 3
        BooleanQuery query1_1 = snapshot1.prepareBooleanQuery(QueryLanguage.SPARQL, "ASK { <http://marmotta.apache.org/testing/ns1/R1> ?p ?o }");
        Assert.assertTrue("SPARQL query for R1 did not return true", query1_1.evaluate());

        // query all triples for http://marmotta.apache.org/testing/ns1/R2, should be zero
        BooleanQuery query1_2 = snapshot1.prepareBooleanQuery(QueryLanguage.SPARQL, "ASK { <http://marmotta.apache.org/testing/ns1/R2> ?p ?o }");
        Assert.assertFalse("SPARQL query for R2 did not return false", query1_2.evaluate());

        snapshot1.commit();
        snapshot1.close();

        // test snapshot connection for date3 (i.e. after first update)
        RepositoryConnection snapshot2 = repository.getSnapshot(date3);

        // query all triples for http://marmotta.apache.org/testing/ns1/R1, should be exactly 3
        BooleanQuery query2_1 = snapshot2.prepareBooleanQuery(QueryLanguage.SPARQL, "ASK { <http://marmotta.apache.org/testing/ns1/R1> ?p ?o }");
        Assert.assertTrue("SPARQL query for R1 did not return true", query2_1.evaluate());

        // query all triples for http://marmotta.apache.org/testing/ns1/R2, should be 3
        BooleanQuery query2_2 = snapshot2.prepareBooleanQuery(QueryLanguage.SPARQL, "ASK { <http://marmotta.apache.org/testing/ns1/R2> ?p ?o }");
        Assert.assertTrue("SPARQL query for R2 did not return true", query2_2.evaluate());

        snapshot2.commit();
        snapshot2.close();


    }
View Full Code Here

                "htto://example.com/test/", "htto://example.com/context/");
        loader.initialize();

        loader.load(dataFile.getAbsolutePath(), RDFFormat.RDFXML, false);

        final RepositoryConnection con = loader.getRepository().getConnection();
        try {
            con.begin();
            testRepoContent(con);
            con.commit();
        } finally {
            if (con.isActive()) {
                con.rollback();
            }
            con.close();
        }
        loader.shutdown();
    }
View Full Code Here

                "htto://example.com/test/", "htto://example.com/context/");
        loader.initialize();

        loader.load(gz.getAbsolutePath(), RDFFormat.RDFXML, true);

        final RepositoryConnection con = loader.getRepository().getConnection();
        try {
            con.begin();
            testRepoContent(con);
            con.commit();
        } finally {
            if (con.isActive()) {
                con.rollback();
            }
            con.close();
        }
        loader.shutdown();
    }
View Full Code Here

                "htto://example.com/test/", "htto://example.com/context/");
        loader.initialize();

        loader.load(new FileInputStream(dataFile), RDFFormat.RDFXML);

        final RepositoryConnection con = loader.getRepository().getConnection();
        try {
            con.begin();
            testRepoContent(con);
            con.commit();
        } finally {
            if (con.isActive()) {
                con.rollback();
            }
            con.close();
        }
        loader.shutdown();
    }
View Full Code Here

    }

    @Test
    public void testRDFDump() throws Exception {
        Repository repo = new SailRepository(sail);
        RepositoryConnection rc = repo.getConnection();
        try {
            RDFWriter w = Rio.createWriter(RDFFormat.TURTLE, System.out);
            rc.export(w);
        } finally {
            rc.close();
        }
    }
View Full Code Here

TOP

Related Classes of org.openrdf.repository.RepositoryConnection

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.