You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/04/10 21:02:55 UTC

svn commit: r1466625 - in /jena/Experimental/jena-text: ./ src/test/java/org/apache/jena/query/text/ testing/LARQ/ testing/TextQuery/

Author: andy
Date: Wed Apr 10 19:02:54 2013
New Revision: 1466625

URL: http://svn.apache.org/r1466625
Log:
Tests that match example 1.

Added:
    jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestBuildTextDataset.java
    jena/Experimental/jena-text/testing/TextQuery/
    jena/Experimental/jena-text/testing/TextQuery/data1.ttl
    jena/Experimental/jena-text/testing/TextQuery/text-config.ttl
Removed:
    jena/Experimental/jena-text/testing/LARQ/
Modified:
    jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
    jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndex.java
    jena/Experimental/jena-text/text-config.ttl

Modified: jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java?rev=1466625&r1=1466624&r2=1466625&view=diff
==============================================================================
--- jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java (original)
+++ jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TS_Text.java Wed Apr 10 19:02:54 2013
@@ -28,7 +28,8 @@ import org.junit.runners.Suite.SuiteClas
 
 @RunWith(Suite.class)
 @SuiteClasses({
-    TestDatasetWithLuceneTextIndex.class
+    TestBuildTextDataset.class
+    , TestDatasetWithLuceneTextIndex.class
     // Embedded solr only used for testing 
     //, TestDatasetWithEmbeddedSolrTextIndex.class
     , TestSearchBeforeWriteOnDatasetWithLuceneTextIndex.class

Added: jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestBuildTextDataset.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestBuildTextDataset.java?rev=1466625&view=auto
==============================================================================
--- jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestBuildTextDataset.java (added)
+++ jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestBuildTextDataset.java Wed Apr 10 19:02:54 2013
@@ -0,0 +1,118 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.query.text;
+
+import org.apache.jena.atlas.junit.BaseTest ;
+import org.apache.jena.atlas.lib.StrUtils ;
+import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.lucene.store.Directory ;
+import org.apache.lucene.store.RAMDirectory ;
+import org.junit.BeforeClass ;
+import org.junit.Test ;
+
+import com.hp.hpl.jena.query.* ;
+import com.hp.hpl.jena.rdf.model.Model ;
+import com.hp.hpl.jena.vocabulary.RDFS ;
+
+/** Test the examples of building a test dataset */ 
+public class TestBuildTextDataset extends BaseTest
+{
+    static final String DIR = "testing/TextQuery" ;
+    
+
+    // Ensure assembler initialized. 
+    @BeforeClass public static void setupClass() { TextQuery.init() ; } 
+    
+    @Test public void buildText_01() { createAssembler() ; }
+
+    @Test public void buildText_02() { createCode() ; }
+    
+    @Test public void buildText_03()
+    { 
+        Dataset ds = createAssembler() ;
+        loadData(ds) ;
+        queryData(ds) ;
+    }
+
+    @Test public void buildText_04()
+    { 
+        Dataset ds = createCode() ;
+        loadData(ds) ;
+        queryData(ds) ;
+    }
+
+    private void loadData(Dataset dataset)
+    {
+        dataset.begin(ReadWrite.WRITE) ;
+        try {
+            Model m = dataset.getDefaultModel() ;
+            RDFDataMgr.read(m, DIR+"/data1.ttl") ;
+            dataset.commit() ;
+        } finally { dataset.end() ; }
+    }
+
+    public static void queryData(Dataset dataset)
+    {
+        String pre = StrUtils.strjoinNL
+            ( "PREFIX : <http://example/>"
+              , "PREFIX text: <http://jena.apache.org/text#>"
+              , "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>") ;
+
+        String qs = StrUtils.strjoinNL
+            ( "SELECT * "
+              , " { ?s text:query (rdfs:label 'X1') ;"
+              , "      rdfs:label ?label"
+              , " }") ; 
+
+        dataset.begin(ReadWrite.READ) ;
+        try {
+            Query q = QueryFactory.create(pre+"\n"+qs) ;
+            QueryExecution qexec = QueryExecutionFactory.create(q , dataset) ;
+            int x = ResultSetFormatter.consume(qexec.execSelect()) ;
+            qexec.close() ;
+            assertEquals("Unexpected result count", 2, x) ;
+        } finally { dataset.end() ; }
+    }
+
+    public static Dataset createCode() 
+    {
+        // Base data
+        Dataset ds1 = DatasetFactory.createMem() ; 
+
+        // Define the index mapping 
+        EntityDefinition entDef = new EntityDefinition("uri", "text", RDFS.label.asNode()) ;
+
+        // Lucene, in memory.
+        Directory dir =  new RAMDirectory();
+        
+        // Join together into a dataset
+        Dataset ds = TextDatasetFactory.createLucene(ds1, dir, entDef) ;
+        
+        return ds ;
+    }
+
+    public static Dataset createAssembler() 
+    {
+        Dataset ds = DatasetFactory.assemble("testing/TextQuery/text-config.ttl",
+                                             "http://localhost/jena_example/#text_dataset") ;
+        return ds ;
+    }
+
+}
+

Modified: jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndex.java
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndex.java?rev=1466625&r1=1466624&r2=1466625&view=diff
==============================================================================
--- jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndex.java (original)
+++ jena/Experimental/jena-text/src/test/java/org/apache/jena/query/text/TestDatasetWithLuceneTextIndex.java Wed Apr 10 19:02:54 2013
@@ -18,9 +18,8 @@
 
 package org.apache.jena.query.text;
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.AfterClass ;
+import org.junit.BeforeClass ;
 
 public class TestDatasetWithLuceneTextIndex extends AbstractTestDatasetWithLuceneTextIndex {
 	
@@ -31,29 +30,4 @@ public class TestDatasetWithLuceneTextIn
 	@AfterClass public static void afterClass() {
 		deleteOldFiles();
 	}
-
-	@Override
-    @Test public void testOneSimpleResult() {
-		super.testOneSimpleResult();
-	}
-
-	@Override
-    @Test public void testMultipleResults() {
-		super.testMultipleResults();
-	}
-
-	@Override
-    @Test public void testSearchCorrectField() {
-		super.testSearchCorrectField();
-	}
-
-	@Override
-    @Test public void testSearchDefaultField() {
-		super.testSearchDefaultField();
-	}
-
-	@Override
-    @Test public void testSearchLimitsResults() {
-		super.testSearchLimitsResults(); 
-	}
 }

Added: jena/Experimental/jena-text/testing/TextQuery/data1.ttl
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-text/testing/TextQuery/data1.ttl?rev=1466625&view=auto
==============================================================================
--- jena/Experimental/jena-text/testing/TextQuery/data1.ttl (added)
+++ jena/Experimental/jena-text/testing/TextQuery/data1.ttl Wed Apr 10 19:02:54 2013
@@ -0,0 +1,26 @@
+@prefix :        <http://example/> .
+@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+
+## :s a :Thing ;
+##    :p :123 ;
+##    rdfs:label "Thing 1" ;
+##    :id 123 .
+## 
+## :s1 a :Thing ;
+##    :p :123 ;
+##    rdfs:label "Thing 2" ;
+##    :id 123 .
+## 
+## :s2 a :Thing ;
+##    :p :123 ;
+##    rdfs:label "Whatever" ;
+##    :id 123 .
+
+   
+:x1 rdfs:label "X1 word" .
+:x1 rdfs:label "X1 word" .
+:x2 rdfs:label "X2 word" .
+:x3 rdfs:label "X3 word" .
+:x1 rdfs:label "X9 word" .
\ No newline at end of file

Added: jena/Experimental/jena-text/testing/TextQuery/text-config.ttl
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-text/testing/TextQuery/text-config.ttl?rev=1466625&view=auto
==============================================================================
--- jena/Experimental/jena-text/testing/TextQuery/text-config.ttl (added)
+++ jena/Experimental/jena-text/testing/TextQuery/text-config.ttl Wed Apr 10 19:02:54 2013
@@ -0,0 +1,46 @@
+ ## Example of a TDB dataset and text index
+
+@prefix :        <http://localhost/jena_example/#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
+@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
+@prefix text:    <http://jena.apache.org/text#> .
+
+# TDB
+[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
+tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
+tdb:GraphTDB    rdfs:subClassOf  ja:Model .
+
+# Text
+[] ja:loadClass "org.apache.jena.query.text.TextQuery" .
+text:TextDataset      rdfs:subClassOf   ja:RDFDataset .
+#text:TextIndexSolr    rdfs:subClassOf   text:TextIndex .
+text:TextIndexLucene  rdfs:subClassOf   text:TextIndex .
+
+## ---------------------------------------------------------------
+## This URI must be fixed - it's used to assemble the text dataset.
+
+:text_dataset rdf:type     text:TextDataset ;
+    text:dataset   <#dataset> ;
+    ##text:index   <#indexSolr> ;
+    text:index     <#indexLucene> ;
+    .
+
+<#dataset> rdf:type      tdb:DatasetTDB ;
+    tdb:location "--mem--" ;
+    tdb:unionDefaultGraph true ;
+    .
+
+<#indexLucene> a text:TextIndexLucene ;
+    text:directory "mem" ;
+    text:entityMap <#entMap> ;
+    .
+
+<#entMap> a text:EntityMap ;
+    text:entityField      "uri" ;
+    text:defaultField     "text" ; ## Must be defined in the text:maps
+    text:map (
+         # rdfs:label            
+         [ text:field "text" ; text:predicate rdfs:label ]
+         ) .

Modified: jena/Experimental/jena-text/text-config.ttl
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-text/text-config.ttl?rev=1466625&r1=1466624&r2=1466625&view=diff
==============================================================================
--- jena/Experimental/jena-text/text-config.ttl (original)
+++ jena/Experimental/jena-text/text-config.ttl Wed Apr 10 19:02:54 2013
@@ -34,7 +34,7 @@ text:TextIndexLucene  rdfs:subClassOf   
 
 <#indexLucene> a text:TextIndexLucene ;
     #text:directory <file:Lucene> ;
-    text: "mem" ;
+    text:directory "mem" ;
     text:entityMap <#entMap> ;
     .