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 2018/02/27 23:10:36 UTC
[16/24] jena git commit: Examples RDF/XML handling.
Examples RDF/XML handling.
JENA-1168, JENA-1494.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e9eb97fd
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e9eb97fd
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e9eb97fd
Branch: refs/heads/master
Commit: e9eb97fdfe7f9e3e738ff5fbac2f53ddee5c15ad
Parents: 9237d24
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Feb 24 08:25:51 2018 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Feb 24 08:25:51 2018 +0000
----------------------------------------------------------------------
.../riot/ExRIOT_RDFXML_ReaderProperties.java | 71 +++++++++++++++++
.../riot/ExRIOT_RDFXML_WriteProperties.java | 81 ++++++++++++++++++++
2 files changed, 152 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/e9eb97fd/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_ReaderProperties.java
----------------------------------------------------------------------
diff --git a/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_ReaderProperties.java b/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_ReaderProperties.java
new file mode 100644
index 0000000..1ba3245
--- /dev/null
+++ b/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_ReaderProperties.java
@@ -0,0 +1,71 @@
+/*
+ * 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 arq.examples.riot;
+
+import java.io.StringReader;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.atlas.logging.LogCtl;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.riot.Lang;
+import org.apache.jena.riot.RDFDataMgr;
+import org.apache.jena.riot.RDFParser;
+import org.apache.jena.riot.SysRIOT;
+import org.apache.jena.sparql.util.Context;
+
+/** Set proeprties of the RDF/XML parser (ARP) */
+public class ExRIOT_RDFXML_ReaderProperties {
+ static { LogCtl.setCmdLogging(); }
+
+ public static void main(String[] args) {
+ // Inline illustrative data.
+ String data = StrUtils.strjoinNL
+ ("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ ,"<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""
+ ," xmlns:ex=\"http://examples.org/\">"
+ // This rdf:ID startswith a digit which normal causes a warning.
+ ," <ex:Type rdf:ID='012345'></ex:Type>"
+ ,"</rdf:RDF>"
+ );
+ System.out.println(data);
+ System.out.println();
+ // Properties to be set.
+ // This is a map propertyName->value
+ Map<String, Object> properties = new HashMap<>();
+ // See class ARPErrorNumbers for the possible ARP properies.
+ properties.put("WARN_BAD_NAME", "EM_IGNORE");
+
+ // Put a properties object into the Context.
+ Context cxt = new Context();
+ cxt.set(SysRIOT.sysRdfReaderProperties, properties);
+
+ Model model = ModelFactory.createDefaultModel();
+ // Build and run a parser
+ RDFParser.create()
+ .lang(Lang.RDFXML)
+ .source(new StringReader(data))
+ .context(cxt)
+ .parse(model);
+ System.out.println("== Parsed data output in Turtle");
+ RDFDataMgr.write(System.out, model, Lang.TURTLE);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/e9eb97fd/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_WriteProperties.java
----------------------------------------------------------------------
diff --git a/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_WriteProperties.java b/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_WriteProperties.java
new file mode 100644
index 0000000..5e6506a
--- /dev/null
+++ b/jena-arq/src-examples/arq/examples/riot/ExRIOT_RDFXML_WriteProperties.java
@@ -0,0 +1,81 @@
+/*
+ * or more contributor license agreements. See the NOTICE fil
+ * 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 arq.examples.riot;
+
+import java.io.StringReader;
+import java.util.HashMap ;
+import java.util.Map ;
+
+import org.apache.jena.atlas.lib.StrUtils;
+import org.apache.jena.atlas.logging.LogCtl;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.ModelFactory;
+import org.apache.jena.riot.*;
+import org.apache.jena.sparql.util.Context;
+
+/** Example of setting properties for RDF/XML writer via RIOT */
+public class ExRIOT_RDFXML_WriteProperties {
+ static { LogCtl.setCmdLogging(); }
+
+ public static void main(String... args) {
+ // Data.
+ String x = StrUtils.strjoinNL
+ ("PREFIX : <http://example.org/>"
+ ,":s :p :o ."
+ );
+ Model model = ModelFactory.createDefaultModel();
+ RDFDataMgr.read(model, new StringReader(x), null, Lang.TURTLE);
+
+ // Write, default settings.
+ writePlain(model);
+ System.out.println();
+
+ // Write, with properties
+ writeProperties(model);
+ }
+
+ /** Write in plain, not pretty ("abbrev") format. */
+ private static void writePlain(Model model) {
+ System.out.println("**** RDFXML_PLAIN");
+ RDFDataMgr.write(System.out, model, RDFFormat.RDFXML_PLAIN);
+ System.out.println();
+ }
+
+ /** Write with properties */
+ public static void writeProperties(Model model) {
+ System.out.println("**** RDFXML_PLAIN+properties");
+ System.out.println("**** Adds XML declaration");
+
+ // Properties to be set.
+ // See https://jena.apache.org/documentation/io/rdfxml_howto.html#advanced-rdfxml-output
+ // for details of properties.
+ Map<String, Object> properties = new HashMap<>() ;
+ properties.put("showXmlDeclaration", "true");
+
+ // Put a properties object into the Context.
+ Context cxt = new Context();
+ cxt.set(SysRIOT.sysRdfWriterProperties, properties);
+
+ RDFWriter.create()
+ .base("http://example.org/")
+ .format(RDFFormat.RDFXML_ABBREV)
+ .context(cxt)
+ .source(model)
+ .output(System.out);
+ }
+}