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 2012/08/13 18:42:13 UTC
svn commit: r1372503 - in
/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader: Langs.java
MainWebReader.java PROJECT_RiotReader.java TestJenaReaderRIOT.java
WebReader2.java
Author: andy
Date: Mon Aug 13 16:42:13 2012
New Revision: 1372503
URL: http://svn.apache.org/viewvc?rev=1372503&view=rev
Log: (empty)
Modified:
jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/Langs.java
jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/MainWebReader.java
jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/PROJECT_RiotReader.java
jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/TestJenaReaderRIOT.java
jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/WebReader2.java
Modified: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/Langs.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/Langs.java?rev=1372503&r1=1372502&r2=1372503&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/Langs.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/Langs.java Mon Aug 13 16:42:13 2012
@@ -326,6 +326,7 @@ public class Langs
//
static Lang convert(Lang2 language)
{
+ if ( language == null ) throw new RiotException("Null language") ;
if ( language.equals(langRDFXML)) return Lang.RDFXML ;
if ( language.equals(langTurtle)) return Lang.TURTLE ;
if ( language.equals(langNTriples)) return Lang.NTRIPLES ;
Modified: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/MainWebReader.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/MainWebReader.java?rev=1372503&r1=1372502&r2=1372503&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/MainWebReader.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/MainWebReader.java Mon Aug 13 16:42:13 2012
@@ -54,7 +54,7 @@ public class MainWebReader
Model m = ModelFactory.createDefaultModel() ;
WebReader2.read(m, "http://localhost:3030/ds/data?default", Langs.nameToLang(WebContent.contentTypeTurtle), null) ;
- WebReader2.read(m, "file:./D.ttl", null, null) ;
+ WebReader2.read(m, "file:./D.ttl", null, null, null) ;
//SSE.write(m) ;
System.out.println("triples = "+m.size()) ;
}
Modified: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/PROJECT_RiotReader.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/PROJECT_RiotReader.java?rev=1372503&r1=1372502&r2=1372503&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/PROJECT_RiotReader.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/PROJECT_RiotReader.java Mon Aug 13 16:42:13 2012
@@ -20,6 +20,7 @@ package projects.riot_reader;
+
/** Not a class. */
public class PROJECT_RiotReader
@@ -33,7 +34,15 @@ public class PROJECT_RiotReader
// ****
// Testing (ready)
- // 5 errors need changes to ModelCom to fix.
+ // 6 errors need changes to ModelCom to fix.
+ // read_base_1 - ModeCom.read(url, base, lang) does : InputStream is = new URL( url ) .openStream() (no conneg)
+ // ==> WebReader2.read)
+ // read_input_1 - lang not passed on ModelCom: readerFactory.getReader(lang) .read(this, reader, base);
+ // read_input_2 - same
+ // read_30 - looses hint lang (could fix with per-lang readers but just use WebReader2.read)
+ // read_31 - looses hint lang (ditto)
+ // read_32 - looses hint lang (ditto)
+
/* read-30
* "D-not-TTL.ttl"
* m1.read(in.getInput(), null, "RDF/XML") ;
@@ -46,9 +55,12 @@ public class PROJECT_RiotReader
/* read_base_1
* Test is jenaread("D-no-base.ttl", "http://baseuri/", "TTL") ;
* ModelCom read(url, base, lang )
- * Immediately opnes connection in a hardwired fashion, needs protocol.
+ * Immediately opens connection in a hardwired fashion, needs protocol.
*/
+ // Integration into Jena:
+ // Remove: RDFReaderF
+
// tests
// File extension and HTTP
// 303's
Modified: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/TestJenaReaderRIOT.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/TestJenaReaderRIOT.java?rev=1372503&r1=1372502&r2=1372503&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/TestJenaReaderRIOT.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/TestJenaReaderRIOT.java Mon Aug 13 16:42:13 2012
@@ -26,6 +26,7 @@ import org.junit.AfterClass ;
import org.junit.BeforeClass ;
import org.junit.Test ;
import org.openjena.atlas.junit.BaseTest ;
+import org.openjena.atlas.lib.StrUtils ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
@@ -72,7 +73,6 @@ public class TestJenaReaderRIOT extends
@Test public void read_23b() { jenaread("D-rdf", "RDFXML") ; }
@Test public void read_24() { jenaread("D-json", "RDF/JSON") ; }
- //@Test public void read_30() { jenaread("D-not-TTL.ttl", "RDF/XML") ; }
@Test public void read_30()
{
TypedInputStream2 in = WebReader2.open(filename("D-not-TTL.ttl") );
@@ -89,9 +89,25 @@ public class TestJenaReaderRIOT extends
StringReader s = new StringReader("<s> <p> <p> .") ;
Model m = ModelFactory.createDefaultModel() ;
WebReader2.read(m, s, null, Langs.langNTriples) ;
- m.read(s, null, "NT") ;
+ m.read(s, null, "N-TRIPLES") ;
}
+ @Test public void read_32()
+ {
+ String x = StrUtils.strjoinNL(
+ "<rdf:RDF",
+ " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"",
+ " xmlns:j.0=\"http://example/\">" ,
+ " <rdf:Description rdf:about=\"http://example/s\">" ,
+ " <j.0:p rdf:resource=\"http://example/o\"/>" ,
+ " </rdf:Description>" ,
+ "</rdf:RDF>") ;
+ StringReader s = new StringReader(x) ;
+ Model m = ModelFactory.createDefaultModel() ;
+ WebReader2.read(m, s, null, Langs.langRDFXML) ;
+ m.read(s, null, "RDF/XML") ;
+ }
+
// Stream opening is hardwired into jena!
@Test public void read_base_1() { jenaread("D-no-base.ttl", "http://baseuri/", "TTL") ; }
@@ -170,11 +186,11 @@ public class TestJenaReaderRIOT extends
private static void jenaread(String dataurl, String lang, String base)
{
dataurl = filename(dataurl) ;
-
- // TODO
- // new RDFReaderFactoryRIOT().getReader(lang) ;
-
Model m = ModelFactory.createDefaultModel() ;
+
+ // This
+ WebReader2.read(m, dataurl, base, Langs.nameToLang(lang)) ;
+ // should be implementation of:
m.read(dataurl, lang, base) ;
assertTrue(m.size() != 0 ) ;
Modified: jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/WebReader2.java
URL: http://svn.apache.org/viewvc/jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/WebReader2.java?rev=1372503&r1=1372502&r2=1372503&view=diff
==============================================================================
--- jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/WebReader2.java (original)
+++ jena/Scratch/AFS/Dev/trunk/src/main/java/projects/riot_reader/WebReader2.java Mon Aug 13 16:42:13 2012
@@ -25,6 +25,7 @@ import java.io.StringReader ;
import org.openjena.atlas.lib.Sink ;
import org.openjena.atlas.web.ContentType ;
import org.openjena.riot.* ;
+import org.openjena.riot.lang.LangRDFXML ;
import org.openjena.riot.lang.LangRIOT ;
import org.openjena.riot.lang.SinkQuadsToDataset ;
import org.openjena.riot.lang.SinkTriplesToGraph ;
@@ -98,7 +99,7 @@ public class WebReader2
* @param model Destination for the RDF read.
* @param uri URI to read from (includes file: and a plain file name).
*/
- public static void read(Model model, String uri) { read(model, uri, null, null) ; }
+ public static void read(Model model, String uri) { read(model, uri, null, null, null) ; }
/** Read triples into a Model from the given location, with a hint of the language (MIME type)
* @see #read(Model,String,String,Lang2,Context)
@@ -108,6 +109,17 @@ public class WebReader2
*/
public static void read(Model model, String uri, Lang2 hintLang) { read(model, uri, hintLang, null) ; }
+ /** Read triples into a Model from the given location, with hint of langauge and the with some parameters for the reader
+ * @see #read(Model,String,String,Lang2,Context)
+ * Throws parse errors depending on the language and reader; the Model model may be partially updated.
+ * @param model Destination for the RDF read.
+ * @param uri URI to read from (includes file: and a plain file name).
+ * @param base Base URI (defaults to uri).
+ * @param hintLang Hint for the syntax
+ * @throws RiotNotFoundException if the location is not found - the model is unchanged.
+ */
+ public static void read(Model model, String uri, String base, Lang2 hintLang) { read(model, uri, base, hintLang, null) ; }
+
/** Read triples into a Model from the given location, with some parameters for the reader
* @see #read(Model,String,String,Lang2,Context)
* @param model Destination for the RDF read
@@ -129,7 +141,6 @@ public class WebReader2
}
/** Read triples into a Model from the given location, with hint of langauge and the with some parameters for the reader
- * @see #read(Model,String,String,Lang2,Context)
* Throws parse errors depending on the language and reader; the Model model may be partially updated.
* @param model Destination for the RDF read.
* @param uri URI to read from (includes file: and a plain file name).
@@ -437,11 +448,23 @@ public class WebReader2
}
// java.io.Readers are NOT preferred.
+ @SuppressWarnings("deprecation")
private static void processTriples(Sink<Triple> sink, String base, Reader in, Lang2 hintLang, Context context)
{
+ // Not as good as from an InputStream - RDF/XML not supported
+ ContentType ct = determineCT(base, null, hintLang) ;
+ if ( ct == null )
+ throw new RiotException("Failed to determine the triples content type: (URI="+base+" : hint="+hintLang+")") ;
+
Tokenizer tokenizer = TokenizerFactory.makeTokenizer(in) ;
+ if ( hintLang == null )
+ throw new RiotException("No language specificied") ;
Lang lang = Langs.convert(hintLang) ;
- LangRIOT parser = RiotReader.createParserTriples(tokenizer, lang, base, sink) ;
+ LangRIOT parser ;
+ if ( lang == Lang.RDFXML )
+ parser = LangRDFXML.create(in, base, base, ErrorHandlerFactory.errorHandlerStd, sink) ;
+ else
+ parser = RiotReader.createParserTriples(tokenizer, lang, base, sink) ;
parser.parse() ;
}