/* * 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 jena; import static org.apache.jena.atlas.logging.LogCtl.setCmdLogging; import java.lang.reflect.Constructor ; import org.apache.jena.rdfxml.xmlinput.NTriple ; import org.apache.jena.shared.Command ; /** A command line interface into ARP. * Creates NTriple's or just error messages. * <pre> * java <class-path> jena.rdfparse ( [ -[xstfu]][ -b xmlBase -[eiw] NNN[,NNN...] ] [ file ] [ url ] )... * * java <class-path> jena.rdfparse --test * * java <class-path> jena.rdfparse --internal-test * </pre> * * <p> * The last two forms are for testing. <code>--test</code> runs ARP * against the RDF Core Working Group tests found at w3.org. * <code>--internal-test</code> uses a cached copy from within the jena.jar. * </p> * All options, files and URLs can be intemingled in any order. * They are processed from left-to-right. * <dl> * file </dt><dd> Converts (embedded) RDF in XML file into N-triples * </dd><dt> * url </dt><dd> Converts (embedded) RDF from URL into N-triples * </dd><dt> * -b uri </dt><dd> Sets XML Base to the absolute URI. * </dd><dt> * -r </dt><dd> Content is RDF (no embedding, rdf:RDF tag may be omitted). * </dd><dt> * -t </dt><dd> No n-triple output, error checking only. * </dd><dt> * -x </dt><dd> Lax mode - warnings are suppressed. * </dd><dt> * -s </dt><dd> Strict mode - most warnings are errors. * </dd><dt> * -u </dt><dd> Allow unqualified attributes (defaults to warning). * </dd><dt> * -f </dt><dd> All errors are.error - report first one only. * </dd><dt> * -b url </dt><dd> Sets XML Base to the absolute url. * </dd><dt> * -e NNN[,NNN...]</dt><dd> * Treats numbered warning conditions as errrors. * </dd><dt> * -w NNN[,NNN...]</dt><dd> * Treats numbered error conditions as warnings. * </dd><dt> * -i NNN[,NNN...] * </dt><dd> * Ignores numbered error/warning conditions. * </dl> */ public class rdfparse { static { setCmdLogging(); } /** Either start an RDF/XML to NTriple converter, or run test suite. * @param args The command-line arguments. */ public static void main( String... args ) throws Exception { if (args.length == 1 && (args[0].equals( "--test" ) || args[0].equals( "--internal-test" ))) runTests( args[0].equals( "--test" ) ); else NTriple.main( args ); } /** wrapped this way so JUnit not a compile-time requirement. */ protected static void runTests( boolean internetTest ) throws Exception { Class<?> rdfparse = Class.forName( "jena.test.rdfparse" ); Constructor<?> constructor = rdfparse.getConstructor( new Class[] {boolean.class} ); Command c = (Command) constructor.newInstance( new Object[] { internetTest } ); c.execute(); // ARPTests.internet = internetTest; // TestRunner.main( new String[] { "-noloading", ARPTests.class.getName()}); } }