You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by jp...@apache.org on 2014/08/10 15:33:14 UTC

svn commit: r1617106 - in /jena/Experimental/jena-csv: ./ src/test/java/org/apache/jena/propertytable/impl/ src/test/resources/

Author: jpz6311whu
Date: Sun Aug 10 13:33:14 2014
New Revision: 1617106

URL: http://svn.apache.org/r1617106
Log:
JENA-625:
1. update google guava dependency in jena-csv pom.xml
2. add some tests for the real world csv data

Added:
    jena/Experimental/jena-csv/src/test/resources/HEFCE_organogram_senior_data_31032011.csv
    jena/Experimental/jena-csv/src/test/resources/PLOSone-search-results.csv
    jena/Experimental/jena-csv/src/test/resources/Palo_Alto_Trees.csv
Modified:
    jena/Experimental/jena-csv/pom.xml
    jena/Experimental/jena-csv/src/test/java/org/apache/jena/propertytable/impl/GraphCSVTest.java

Modified: jena/Experimental/jena-csv/pom.xml
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-csv/pom.xml?rev=1617106&r1=1617105&r2=1617106&view=diff
==============================================================================
--- jena/Experimental/jena-csv/pom.xml (original)
+++ jena/Experimental/jena-csv/pom.xml Sun Aug 10 13:33:14 2014
@@ -47,22 +47,22 @@
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>apache-jena-libs</artifactId>
-      <version>2.12.0-SNAPSHOT</version>
+      <version>2.12.1-SNAPSHOT</version>
       <type>pom</type>
     </dependency>
     
     <!-- Google Code Guava -->
     <dependency>
-	  <groupId>com.googlecode.guava-osgi</groupId>
-	  <artifactId>guava-osgi</artifactId>
-	  <version>11.0.0</version>
-	</dependency>	
+	  <groupId>com.google.guava</groupId>
+	  <artifactId>guava</artifactId>
+	  <version>17.0</version>
+    </dependency>
 	
     <!-- Testing support -->
     <dependency>
       <groupId>org.apache.jena</groupId>
       <artifactId>jena-arq</artifactId>
-      <version>2.12.0-SNAPSHOT</version>
+      <version>2.12.1-SNAPSHOT</version>
       <type>jar</type>
       <classifier>tests</classifier>
       <scope>test</scope>
@@ -162,19 +162,5 @@
     </plugins>
 
   </build>
-
-
-  <repositories>
-    <repository>
-      <id>maven-restlet</id>
-      <name>Public online Restlet repository</name>
-      <url>http://maven.restlet.org</url>
-    </repository>
-    <repository>
-      <id>maven2-repository.dev.java.net</id>
-      <name>Java.net repository</name>
-      <url>http://download.java.net/maven/2</url>
-    </repository>
-  </repositories>
-
+   
 </project>

Modified: jena/Experimental/jena-csv/src/test/java/org/apache/jena/propertytable/impl/GraphCSVTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-csv/src/test/java/org/apache/jena/propertytable/impl/GraphCSVTest.java?rev=1617106&r1=1617105&r2=1617106&view=diff
==============================================================================
--- jena/Experimental/jena-csv/src/test/java/org/apache/jena/propertytable/impl/GraphCSVTest.java (original)
+++ jena/Experimental/jena-csv/src/test/java/org/apache/jena/propertytable/impl/GraphCSVTest.java Sun Aug 10 13:33:14 2014
@@ -32,11 +32,13 @@ import com.hp.hpl.jena.rdf.model.Model;
 import com.hp.hpl.jena.rdf.model.ModelFactory;
 import com.hp.hpl.jena.sparql.engine.main.StageBuilder;
 import com.hp.hpl.jena.sparql.engine.main.StageGenerator;
+import com.hp.hpl.jena.util.PrintUtil;
 
 public class GraphCSVTest extends Assert {
 	
 	@Test
 	public void testGraphCSV() throws Exception {
+		//String file = "src/test/resources/HEFCE_organogram_senior_data_31032011.csv";test.csv
 		String file = "src/test/resources/test.csv";
 		
 		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
@@ -67,4 +69,74 @@ public class GraphCSVTest extends Assert
         StageGenerator stageGenerator = new StageGeneratorPropertyTable(orig) ;
         StageBuilder.setGenerator(ARQ.getContext(), stageGenerator) ;
     }
+	
+	//http://www.w3.org/TR/csvw-ucr/#UC-OrganogramData
+	//2.4 Use Case #4 - Publication of public sector roles and salaries
+	@Test
+	public void testUseCase4(){
+		String file = "src/test/resources/HEFCE_organogram_senior_data_31032011.csv";
+		
+		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
+		assertEquals(72, csv.size());
+
+		Query query = QueryFactory
+				.create("PREFIX : <src/test/resources/HEFCE_organogram_senior_data_31032011.csv#> SELECT ?name ?unit {?x :Name ?name ; :Unit ?unit ; :Actual%20Pay%20Floor%20%28%A3%29 ?floor ; :Actual%20Pay%20Ceiling%20%28%A3%29 ?ceiling . FILTER(?floor > 100000 && ?ceiling <120000 )}");
+		
+		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
+		ResultSet results = qexec.execSelect();
+		
+		assertTrue(results.hasNext());
+		QuerySolution soln = results.nextSolution();
+		assertEquals( "David Sweeney", soln.getLiteral("name").getString());
+		assertEquals( "Research, Innovation and Skills", soln.getLiteral("unit").getString());
+		
+		assertFalse(results.hasNext());
+	}
+	
+	
+	//http://www.w3.org/TR/csvw-ucr/#UC-JournalArticleSearch
+	//2.6 Use Case #6 - Journal Article Solr Search Results
+	@Test
+	public void testUseCase6(){
+		String file = "src/test/resources/PLOSone-search-results.csv";
+		
+		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
+		assertEquals(30, csv.size());
+
+		Query query = QueryFactory
+				.create("PREFIX : <src/test/resources/PLOSone-search-results.csv#> SELECT ?author {?x :author ?author ; :doi '10.1371/journal.pone.0095156' }");
+		
+		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
+		ResultSet results = qexec.execSelect();
+		
+		assertTrue(results.hasNext());
+		QuerySolution soln = results.nextSolution();
+		assertEquals( "Oshrat Raz,Dorit L Lev,Alexander Battler,Eli I Lev", soln.getLiteral("author").getString());
+		
+		assertFalse(results.hasNext());
+	}
+	
+	//http://www.w3.org/TR/csvw-ucr/#UC-PaloAltoTreeData
+	//2.11 Use Case #11 - City of Palo Alto Tree Data
+	@Test
+	public void testUseCase11(){
+		String file = "src/test/resources/Palo_Alto_Trees.csv";
+		
+		Model csv = ModelFactory.createModelForGraph(new GraphCSV(file));
+		assertEquals(199, csv.size());
+
+		Query query = QueryFactory
+				.create("PREFIX : <src/test/resources/Palo_Alto_Trees.csv#> SELECT ?longitude ?latitude {?x :Longitude ?longitude ; :Latitude ?latitude ; :Distance%20from%20Property ?distance . FILTER(?distance > 50 )}");
+		
+		QueryExecution qexec = QueryExecutionFactory.create(query, csv);
+		ResultSet results = qexec.execSelect();
+		
+		assertTrue(results.hasNext());
+		QuerySolution soln = results.nextSolution();
+		assertEquals( -122.1566921, soln.getLiteral("longitude").getDouble(), 0);
+		assertEquals( 37.4408948, soln.getLiteral("latitude").getDouble(), 0);
+		
+		assertFalse(results.hasNext());
+	}
+
 }

Added: jena/Experimental/jena-csv/src/test/resources/HEFCE_organogram_senior_data_31032011.csv
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-csv/src/test/resources/HEFCE_organogram_senior_data_31032011.csv?rev=1617106&view=auto
==============================================================================
--- jena/Experimental/jena-csv/src/test/resources/HEFCE_organogram_senior_data_31032011.csv (added)
+++ jena/Experimental/jena-csv/src/test/resources/HEFCE_organogram_senior_data_31032011.csv Sun Aug 10 13:33:14 2014
@@ -0,0 +1,5 @@
+Post Unique Reference,Name,Grade,Job Title,Job/Team Function,Parent Department,Organisation,Unit,Contact Phone,Contact E-mail,Reports to Senior Post,Salary Cost of Reports (£),FTE,Actual Pay Floor (£),Actual Pay Ceiling (£),,Profession,Notes,Valid?
+90115,Steve Egan,SCS1A,Deputy Chief Executive,Finance and Corporate Resources,Department for Business Innovation and Skills,Higher Education Funding Council for England,Finance and Corporate Resources,0117 931 7408,s.egan@hefce.ac.uk,90334,5883433,1,120000,124999,,Finance,,1
+90250,David Sweeney,SCS1A,Director,"Research, Innovation and Skills",Department for Business Innovation and Skills,Higher Education Funding Council for England,"Research, Innovation and Skills",0117 931 7304,d.sweeeney@hefce.ac.uk,90334,1207171,1,110000,114999,,Policy,,1
+90284,Heather Fry,SCS1A,Director,Education and Participation,Department for Business Innovation and Skills,Higher Education Funding Council for England,Education and Participation,0117 931 7280,h.fry@hefce.ac.uk,90334,1645195,1,100000,104999,,Policy,,1
+90334,Sir Alan Langlands,SCS4,Chief Executive,Chief Executive,Department for Business Innovation and Skills,Higher Education Funding Council for England,HEFCE,0117 931 7300/7341,a.langlands@hefce.ac.uk,xx,0,1,230000,234999,,Policy,,1

Added: jena/Experimental/jena-csv/src/test/resources/PLOSone-search-results.csv
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-csv/src/test/resources/PLOSone-search-results.csv?rev=1617106&view=auto
==============================================================================
--- jena/Experimental/jena-csv/src/test/resources/PLOSone-search-results.csv (added)
+++ jena/Experimental/jena-csv/src/test/resources/PLOSone-search-results.csv Sun Aug 10 13:33:14 2014
@@ -0,0 +1,6 @@
+id,doi,publication_date,title_display,author
+10.1371/journal.pone.0095131,10.1371/journal.pone.0095131,2014-06-05T00:00:00Z,"Genotyping of French <i>Bacillus anthracis</i> Strains Based on 31-Loci Multi Locus VNTR Analysis: Epidemiology, Marker Evaluation, and Update of the Internet Genotype Database","Simon Thierry,Christophe Tourterel,Philippe Le Flèche,Sylviane Derzelle,Neira Dekhil,Christiane Mendy,Cécile Colaneri,Gilles Vergnaud,Nora Madani"
+10.1371/journal.pone.0095156,10.1371/journal.pone.0095156,2014-06-05T00:00:00Z,Pathways Mediating the Interaction between Endothelial Progenitor Cells (EPCs) and Platelets,"Oshrat Raz,Dorit L Lev,Alexander Battler,Eli I Lev"
+10.1371/journal.pone.0095275,10.1371/journal.pone.0095275,2014-06-05T00:00:00Z,Identification of Divergent Protein Domains by Combining HMM-HMM Comparisons and Co-Occurrence Detection,"Amel Ghouila,Isabelle Florent,Fatma Zahra Guerfali,Nicolas Terrapon,Dhafer Laouini,Sadok Ben Yahia,Olivier Gascuel,Laurent Bréhélin"
+10.1371/journal.pone.0096098,10.1371/journal.pone.0096098,2014-06-05T00:00:00Z,Baseline CD4 Cell Counts of Newly Diagnosed HIV Cases in China: 2006–2012,"Houlin Tang,Yurong Mao,Cynthia X Shi,Jing Han,Liyan Wang,Juan Xu,Qianqian Qin,Roger Detels,Zunyou Wu"
+10.1371/journal.pone.0097475,10.1371/journal.pone.0097475,2014-06-05T00:00:00Z,Crystal Structure of the Open State of the <i>Neisseria gonorrhoeae</i> MtrE Outer Membrane Channel,"Hsiang-Ting Lei,Tsung-Han Chou,Chih-Chia Su,Jani Reddy Bolla,Nitin Kumar,Abhijith Radhakrishnan,Feng Long,Jared A Delmar,Sylvia V Do,Kanagalaghatta R Rajashankar,William M Shafer,Edward W Yu"
\ No newline at end of file

Added: jena/Experimental/jena-csv/src/test/resources/Palo_Alto_Trees.csv
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-csv/src/test/resources/Palo_Alto_Trees.csv?rev=1617106&view=auto
==============================================================================
--- jena/Experimental/jena-csv/src/test/resources/Palo_Alto_Trees.csv (added)
+++ jena/Experimental/jena-csv/src/test/resources/Palo_Alto_Trees.csv Sun Aug 10 13:33:14 2014
@@ -0,0 +1,6 @@
+GID,Private,Tree ID,Admin Area,Side of Street,On Street,From Street,To Street,Street_Name,Situs Number,Address Estimated,Lot Side,Serial Number,Tree Site,Species,Trim Cycle,Diameter at Breast Ht,Trunk Count,Height Code,Canopy Width,Trunk Condition,Structure Condition,Crown Condition,Pest Condition,Condition Calced,Condition Rating,Vigor,Cable Presence,Stake Presence,Grow Space,Utility Presence,Distance from Property,Inventory Date,Staff Name,Comments,Zip,City Name,Longitude,Latitude,Protected,Designated,Heritage,Appraised Value,Hardscape,Identifier,Location Feature ID,Install Date,Feature Name,KML,FusionMarkerIcon
+1,True,29,,,ADDISON AV,EMERSON ST,RAMONA ST,ADDISON AV,203,,Front,,2,Celtis australis,Large Tree Routine Prune,11,1,25-30,15-30,,Good,5,,,Good,2,False,False,Planting Strip,,44,10/18/2010,BK,,,Palo Alto,-122.1565172,37.4409561,False,False,False,,None,40,13872,,"Tree: 29 site 2 at 203 ADDISON AV, on ADDISON AV 44 from pl","<Point><coordinates>-122.156485,37.440963</coordinates></Point>",small_green
+2,True,30,,,EMERSON ST,CHANNING AV,ADDISON AV,ADDISON AV,203,,Left,,1,Liquidambar styraciflua,Large Tree Routine Prune,11,1,50-55,15-30,Good,Good,5,,,Good,2,False,False,Planting Strip,,21,6/2/2010,BK,,,Palo Alto,-122.1567812,37.440951,False,False,False,,None,41,13872,,"Tree: 30 site 1 at 203 ADDISON AV, on EMERSON ST 21 from pl","<Point><coordinates>-122.156749,37.440958</coordinates></Point>",small_green
+3,True,31,,,EMERSON ST,CHANNING AV,ADDISON AV,ADDISON AV,203,,Left,,2,Liquidambar styraciflua,Large Tree Routine Prune,11,1,40-45,15-30,Good,Good,5,,,Good,2,False,False,Planting Strip,,54,6/2/2010,BK,,,Palo Alto,-122.1566921,37.4408948,False,False,False,,Low,42,13872,,"Tree: 31 site 2 at 203 ADDISON AV, on EMERSON ST 54 from pl","<Point><coordinates>-122.156659,37.440902</coordinates></Point>",small_green
+4,True,32,,,ADDISON AV,EMERSON ST,RAMONA ST,ADDISON AV,209,,Front,,1,Ulmus parvifolia,Large Tree Routine Prune,18,1,35-40,30-45,Good,Good,5,,,Good,2,False,False,Planting Strip,,21,6/2/2010,BK,,,Palo Alto,-122.1564595,37.4410143,False,False,False,,Medium,43,13873,,"Tree: 32 site 1 at 209 ADDISON AV, on ADDISON AV 21 from pl","<Point><coordinates>-122.156427,37.441022</coordinates></Point>",small_green
+5,True,33,,,ADDISON AV,EMERSON ST,RAMONA ST,ADDISON AV,219,,Front,,1,Eriobotrya japonica,Large Tree Routine Prune,7,1,15-20,0-15,Good,Good,3,,,Good,1,False,False,Planting Strip,,16,6/1/2010,BK,,,Palo Alto,-122.1563676,37.441107,False,False,False,,None,44,13874,,"Tree: 33 site 1 at 219 ADDISON AV, on ADDISON AV 16 from pl","<Point><coordinates>-122.156335,37.441114</coordinates></Point>",small_green