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/10/25 21:04:10 UTC
svn commit: r1402276 - in /jena: Experimental/riot-reader/
Experimental/riot-reader/src/main/java/dev/
Experimental/riot-reader/src/test/java/riotcmd/
Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/
trunk/jena-arq/src/main/java/org/openjena/riot...
Author: andy
Date: Thu Oct 25 19:04:09 2012
New Revision: 1402276
URL: http://svn.apache.org/viewvc?rev=1402276&view=rev
Log:
Add non-@ forms to directives recognized by Turtle and TriG (WG decision)
Modified:
jena/Experimental/riot-reader/rdflangtest
jena/Experimental/riot-reader/src/main/java/dev/MainWebReader.java
jena/Experimental/riot-reader/src/main/java/dev/PROJECT_RiotReader.java
jena/Experimental/riot-reader/src/test/java/riotcmd/rdflangtest.java
jena/Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/manifest.ttl
jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java
jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTriG.java
jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTurtleBase.java
jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java
Modified: jena/Experimental/riot-reader/rdflangtest
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-reader/rdflangtest?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/Experimental/riot-reader/rdflangtest (original)
+++ jena/Experimental/riot-reader/rdflangtest Thu Oct 25 19:04:09 2012
@@ -2,7 +2,9 @@
## Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
BASE="$HOME/Projects/riot-reader"
-CP="/home/afs/.m2/repo/commons-codec/commons-codec/1.5/commons-codec-1.5.jar:/home/afs/.m2/repo/junit/junit/4.9/junit-4.9.jar:/home/afs/.m2/repo/log4j/log4j/1.2.16/log4j-1.2.16.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpcore/4.1.3/httpcore-4.1.3.jar:/home/afs/.m2/repo/org/apache/jena/jena-arq/2.9.4-SNAPSHOT/jena-arq-2.9.4-SNAPSHOT-tests.jar:/home/afs/.m2/repo/org/apache/jena/jena-arq/2.9.4-SNAPSHOT/jena-arq-2.9.4-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/jena-core/2.7.4-SNAPSHOT/jena-core-2.7.4-SNAPSHOT-tests.jar:/home/afs/.m2/repo/org/apache/jena/jena-core/2.7.4-SNAPSHOT/jena-core-2.7.4-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/jena-iri/0.9.4-SNAPSHOT/jena-iri-0.9.4-SNAPSHOT.jar:/home/afs/.m2/repo/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/afs/.m2/repo/org/slf4j/jcl-over-slf4j/1.6.4/jcl-over-slf4j-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-api/1.6.4/slf
4j-api-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar:/home/afs/.m2/repo/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar:/home/afs/.m2/repo/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar"
+CP="/home/afs/.m2/repo/commons-codec/commons-codec/1.5/commons-codec-1.5.jar:/home/afs/.m2/repo/junit/junit/4.9/junit-4.9.jar:/home/afs/.m2/repo/log4j/log4j/1.2.16/log4j-1.2.16.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpcore/4.1.3/httpcore-4.1.3.jar:/home/afs/.m2/repo/org/apache/jena/jena-arq/2.9.5-SNAPSHOT/jena-arq-2.9.5-SNAPSHOT-tests.jar:/home/afs/.m2/repo/org/apache/jena/jena-arq/2.9.5-SNAPSHOT/jena-arq-2.9.5-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/jena-core/2.7.5-SNAPSHOT/jena-core-2.7.5-SNAPSHOT-tests.jar:/home/afs/.m2/repo/org/apache/jena/jena-core/2.7.5-SNAPSHOT/jena-core-2.7.5-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/jena-iri/0.9.5-SNAPSHOT/jena-iri-0.9.5-SNAPSHOT.jar:/home/afs/.m2/repo/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/afs/.m2/repo/org/slf4j/jcl-over-slf4j/1.6.4/jcl-over-slf4j-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-api/1.6.4/slf
4j-api-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar:/home/afs/.m2/repo/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar:/home/afs/.m2/repo/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar"
+
+CP="$HOME/Jena/jena-arq/classes:$CP"
if [ -e "$BASE/target/classes" ]
then
Modified: jena/Experimental/riot-reader/src/main/java/dev/MainWebReader.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-reader/src/main/java/dev/MainWebReader.java?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/Experimental/riot-reader/src/main/java/dev/MainWebReader.java (original)
+++ jena/Experimental/riot-reader/src/main/java/dev/MainWebReader.java Thu Oct 25 19:04:09 2012
@@ -34,8 +34,6 @@ public class MainWebReader
public static void main(String ... argv)
{
WebReader2.wireIntoJena() ;
- //Log.enable(WebReader2.class) ;
-
{
Model m = AdapterFileManager.get().loadModel("http://jena.apache.org/about_jena/jena.rdf") ;
System.out.println(m.size()) ;
Modified: jena/Experimental/riot-reader/src/main/java/dev/PROJECT_RiotReader.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-reader/src/main/java/dev/PROJECT_RiotReader.java?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/Experimental/riot-reader/src/main/java/dev/PROJECT_RiotReader.java (original)
+++ jena/Experimental/riot-reader/src/main/java/dev/PROJECT_RiotReader.java Thu Oct 25 19:04:09 2012
@@ -28,11 +28,6 @@ public class PROJECT_RiotReader
// Check ContentType vs MediaType => MediaType (code) , correct name is ?
- // Tests:
- // Sort out directories.
- // testing/FileManager
- // testing/RIOT/FileManager
-
// Potentially split into:
// WebReaderModel (no context)
// WebReaderDataset (no context)
Modified: jena/Experimental/riot-reader/src/test/java/riotcmd/rdflangtest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-reader/src/test/java/riotcmd/rdflangtest.java?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/Experimental/riot-reader/src/test/java/riotcmd/rdflangtest.java (original)
+++ jena/Experimental/riot-reader/src/test/java/riotcmd/rdflangtest.java Thu Oct 25 19:04:09 2012
@@ -21,6 +21,7 @@ package riotcmd;
import junit.framework.TestSuite ;
import org.apache.jena.riot.langsuite.FactoryTestRiotTurtle ;
import org.openjena.atlas.junit.BaseTest ;
+import org.openjena.riot.RIOT ;
import org.openjena.riot.SysRIOT ;
import arq.cmd.CmdException ;
import arq.cmd.TerminationException ;
@@ -63,12 +64,12 @@ import com.hp.hpl.jena.vocabulary.XSD ;
public class rdflangtest extends CmdGeneral
{
- protected ModSymbol modSymbol = new ModSymbol() ;
- ArgDecl strictDecl = new ArgDecl(ArgDecl.NoValue, "strict") ;
- protected boolean cmdStrictMode = false ;
+ protected ModSymbol modSymbol = new ModSymbol() ;
+ protected ArgDecl strictDecl = new ArgDecl(ArgDecl.NoValue, "strict") ;
+ protected boolean cmdStrictMode = false ;
//protected ArgDecl allDecl = new ArgDecl(ArgDecl.NoValue, "all") ;
- protected ArgDecl earlDecl = new ArgDecl(ArgDecl.NoValue, "earl") ;
+ protected ArgDecl earlDecl = new ArgDecl(ArgDecl.NoValue, "earl") ;
protected boolean createEarlReport = false;
@@ -116,12 +117,16 @@ public class rdflangtest extends CmdGene
// Paradoxical naming - the boolean is a visibility flag.
BaseTest.setTestLogging() ;
- if ( cmdStrictMode )
+ if ( contains(strictDecl) )
+ {
+ cmdStrictMode = true ;
+ // Which will apply to reading the manifest!
ARQ.setStrictMode() ;
+ RIOT.setStrictMode(true) ;
+ }
NodeValue.VerboseWarnings = false ;
E_Function.WarnOnUnknownFunction = false ;
-
for ( String fn : getPositional() )
{
Modified: jena/Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/manifest.ttl
URL: http://svn.apache.org/viewvc/jena/Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/manifest.ttl?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/manifest.ttl (original)
+++ jena/Experimental/riot-reader/testing/RIOT/Lang/TurtleSubm/manifest.ttl Thu Oct 25 19:04:09 2012
@@ -299,5 +299,5 @@
mf:name "rdfq-results" ;
rdfs:comment "Example query result from http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html" ;
mf:action <rdfq-results.ttl> ;
- mf:result <rdfq-results.out>
-
+ mf:result <rdfq-results.out> .
+
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/RIOT.java Thu Oct 25 19:04:09 2012
@@ -18,6 +18,8 @@
package org.openjena.riot;
+import org.openjena.riot.lang.LangTurtleBase ;
+
import com.hp.hpl.jena.query.ARQ ;
import com.hp.hpl.jena.sparql.SystemARQ ;
import com.hp.hpl.jena.sparql.mgt.ARQMgt ;
@@ -47,6 +49,11 @@ public class RIOT
// /** The date and time at which this release was built */
// public static final String BUILD_DATE = metadata.get(PATH+".build.datetime", "unset") ;
+ public static void setStrictMode(boolean state)
+ {
+ LangTurtleBase.strict = state ;
+ }
+
static boolean initialized = false ;
public static synchronized void init()
{
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTriG.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTriG.java?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTriG.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTriG.java Thu Oct 25 19:04:09 2012
@@ -70,7 +70,7 @@ public class LangTriG extends LangTurtle
Node graphNode = Quad.tripleInQuad ;
Token token = peekToken() ;
- // <foo> = { ... } .
+ // <foo> = { ... } or just { ... }
if ( token.isNode() )
{
Token t = token ; // Keep for error message.
@@ -124,7 +124,6 @@ public class LangTriG extends LangTurtle
if ( token.hasType(TokenType.DOT) )
nextToken() ;
-
// End graph block.
setCurrentGraph(Quad.tripleInQuad) ;
}
@@ -135,7 +134,8 @@ public class LangTriG extends LangTurtle
// The DOT is required by Turtle (strictly).
// It is not in N3 and SPARQL.
- if ( strict )
+ // No trailing DOT is allowed by strict TriG.
+ if ( false /*strict*/ )
{
expect("Triples not terminated by DOT", DOT) ;
return ;
Modified: jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTurtleBase.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTurtleBase.java?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTurtleBase.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/openjena/riot/lang/LangTurtleBase.java Thu Oct 25 19:04:09 2012
@@ -94,8 +94,6 @@ public abstract class LangTurtleBase<X>
//protected final static boolean CHECKING = true ;
public static boolean strict = false ;
-// protected final Prologue prologue ;
-
// Current graph - null for default graph
private Node currentGraph = null ;
@@ -141,6 +139,12 @@ public abstract class LangTurtleBase<X>
continue ;
}
+ if ( lookingAt(KEYWORD) )
+ {
+ toplevelkeyword() ;
+ continue ;
+ }
+
oneTopLevelElement() ;
if ( lookingAt(EOF) )
@@ -154,6 +158,26 @@ public abstract class LangTurtleBase<X>
/** Emit a triple - nodes have been checked as has legality of node type in location */
protected abstract void emit(Node subject, Node predicate, Node object) ;
+ protected final void toplevelkeyword()
+ {
+ Token t = peekToken() ;
+ String x = t.getImage() ;
+ nextToken() ;
+
+ if ( x.equalsIgnoreCase("BASE") )
+ {
+ directiveBase() ;
+ return ;
+ }
+
+ if ( x.equalsIgnoreCase("PREFIX") )
+ {
+ directivePrefix() ;
+ return ;
+ }
+ exception(t, "Unrecognized keyword: %s", x) ;
+ }
+
protected final void directive()
{
// It's a directive ...
@@ -164,12 +188,14 @@ public abstract class LangTurtleBase<X>
if ( x.equals("base") )
{
directiveBase() ;
+ expect("Base directive not terminated by a dot", DOT) ;
return ;
}
if ( x.equals("prefix") )
{
directivePrefix() ;
+ expect("Prefix directive not terminated by a dot", DOT) ;
return ;
}
exception(t, "Unrecognized directive: %s", x) ;
@@ -191,7 +217,6 @@ public abstract class LangTurtleBase<X>
profile.getPrologue().getPrefixMap().add(prefix, iri) ;
nextToken() ;
- expect("Prefix directive not terminated by a dot", DOT) ;
}
protected final void directiveBase()
@@ -204,7 +229,6 @@ public abstract class LangTurtleBase<X>
IRI baseIRI = profile.makeIRI(baseStr, currLine, currCol) ;
nextToken() ;
- expect("Base directive not terminated by a dot", DOT) ;
profile.getPrologue().setBaseURI(baseIRI) ;
}
@@ -234,7 +258,7 @@ public abstract class LangTurtleBase<X>
// A DOT or EOF.
// But if a DOT or EOF, then it can't have been () or [].
- // Turtle, as spec'ed does nto allow
+ // Turtle, as spec'ed does not allow
// (1 2 3 4) .
// There must be a predicate and object.
Modified: jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java?rev=1402276&r1=1402275&r2=1402276&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java (original)
+++ jena/trunk/jena-arq/src/main/java/riotcmd/CmdLangParse.java Thu Oct 25 19:04:09 2012
@@ -32,12 +32,7 @@ import org.openjena.atlas.lib.Sink ;
import org.openjena.atlas.lib.SinkCounting ;
import org.openjena.atlas.lib.SinkNull ;
import org.openjena.atlas.lib.StrUtils ;
-import org.openjena.riot.ErrorHandler ;
-import org.openjena.riot.ErrorHandlerFactory ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.RiotException ;
-import org.openjena.riot.RiotReader ;
-import org.openjena.riot.SysRIOT ;
+import org.openjena.riot.* ;
import org.openjena.riot.lang.LabelToNode ;
import org.openjena.riot.lang.LangRDFXML ;
import org.openjena.riot.lang.LangRIOT ;
@@ -52,6 +47,7 @@ import org.openjena.riot.system.SyntaxLa
import org.openjena.riot.tokens.Tokenizer ;
import org.openjena.riot.tokens.TokenizerFactory ;
import arq.cmd.CmdException ;
+import arq.cmdline.ArgDecl ;
import arq.cmdline.CmdGeneral ;
import arq.cmdline.ModLangParse ;
import arq.cmdline.ModTime ;
@@ -69,6 +65,7 @@ public abstract class CmdLangParse exten
// Module.
protected ModTime modTime = new ModTime() ;
protected ModLangParse modLangParse = new ModLangParse() ;
+ protected ArgDecl argStrict = new ArgDecl(ArgDecl.NoValue, "strict") ;
protected InferenceSetupRDFS setup = null ;
interface LangHandler {
@@ -166,7 +163,10 @@ public abstract class CmdLangParse exten
@Override
protected void processModulesAndArgs()
- { }
+ {
+ if ( this.contains(argStrict) )
+ RIOT.setStrictMode(true) ;
+ }
protected long totalMillis = 0 ;
protected long totalTuples = 0 ;