use of org.apache.jena.atlas.io.IndentedWriter in project jena by apache.
the class Shex method printSchema.
/**
* Print shapes - the format details the internal structure
*/
public static void printSchema(ShexSchema shapes) {
IndentedWriter iOut = IndentedWriter.clone(IndentedWriter.stdout);
iOut.setLinePrefix("");
Set<String> visited = new HashSet<>();
if (shapes.getSource() != null)
visited.add(shapes.getSource());
printSchema(iOut, shapes, visited);
}
use of org.apache.jena.atlas.io.IndentedWriter in project jena by apache.
the class WriterRIOTShaclc method write.
@Override
public void write(OutputStream out, Graph graph, PrefixMap prefixMap, String baseURI, Context context) {
IndentedWriter iOut = new IndentedWriter(out);
try {
iOut.setUnitIndent(4);
write(iOut, graph, prefixMap, baseURI, context);
} finally {
iOut.flush();
}
}
use of org.apache.jena.atlas.io.IndentedWriter in project jena by apache.
the class WriterRIOTShaclc method write.
@Override
public void write(Writer out, Graph graph, PrefixMap prefixMap, String baseURI, Context context) {
IndentedWriter iOut = RiotLib.create(out);
try {
iOut.setAbsoluteIndent(4);
write(iOut, graph, prefixMap, baseURI, context);
} finally {
iOut.flush();
}
}
use of org.apache.jena.atlas.io.IndentedWriter in project jena by apache.
the class CompactWriter method output.
public static void output(IndentedWriter out, NodeFormatter nodeFmt, ShapeOutputVisitor visitor, Shape sh) {
List<Target> targetImplicitClasses = sh.getTargets().stream().filter(t -> t.getTargetType() == TargetType.implicitClass).collect(Collectors.toList());
List<Target> targetClasses = sh.getTargets().stream().filter(t -> t.getTargetType() == TargetType.targetClass).collect(Collectors.toList());
if (targetImplicitClasses.isEmpty()) {
out.print("shape ");
nodeFmt.format(out, sh.getShapeNode());
if (!targetClasses.isEmpty()) {
out.print(" ->");
targetClasses.forEach(t -> {
out.print(" ");
nodeFmt.format(out, t.getObject());
});
}
} else {
if (targetImplicitClasses.size() > 1)
CompactWriter.notShaclc("Multiple implicit classes");
if (!targetClasses.isEmpty())
CompactWriter.notShaclc("Implicit classes and targetClass");
Target target = targetImplicitClasses.get(0);
out.print("shapeClass ");
nodeFmt.format(out, target.getObject());
}
out.println(" {");
out.incIndent();
sh.visit(visitor);
out.decIndent();
out.ensureStartOfLine();
out.println("}");
}
use of org.apache.jena.atlas.io.IndentedWriter in project jena by apache.
the class qexpr method main2.
public static void main2(String... argv) {
CmdLineArgs cl = new CmdLineArgs(argv);
ArgDecl helpDecl = new ArgDecl(ArgDecl.NoValue, "h", "help");
cl.add(helpDecl);
ArgDecl verboseDecl = new ArgDecl(ArgDecl.NoValue, "v", "verbose");
cl.add(verboseDecl);
ArgDecl versionDecl = new ArgDecl(ArgDecl.NoValue, "ver", "version", "V");
cl.add(versionDecl);
ArgDecl quietDecl = new ArgDecl(ArgDecl.NoValue, "q", "quiet");
cl.add(quietDecl);
ArgDecl reduceDecl = new ArgDecl(ArgDecl.NoValue, "reduce", "fold", "simplify");
cl.add(reduceDecl);
ArgDecl strictDecl = new ArgDecl(ArgDecl.NoValue, "strict");
cl.add(strictDecl);
ArgDecl printDecl = new ArgDecl(ArgDecl.HasValue, "print");
cl.add(printDecl);
try {
cl.process();
} catch (IllegalArgumentException ex) {
System.err.println(ex.getMessage());
usage(System.err);
throw new CmdException();
}
if (cl.contains(helpDecl)) {
usage();
throw new TerminationException(0);
}
if (cl.contains(versionDecl)) {
System.out.println("ARQ Version: " + ARQ.VERSION + " (Jena: " + Jena.VERSION + ")");
throw new TerminationException(0);
}
// ==== General things
boolean verbose = cl.contains(verboseDecl);
boolean quiet = cl.contains(quietDecl);
if (cl.contains(strictDecl))
ARQ.setStrictMode();
boolean actionCopySubstitute = cl.contains(reduceDecl);
boolean actionPrintPrefix = false;
boolean actionPrintSPARQL = false;
boolean actionPrint = cl.contains(printDecl);
for (String v : cl.getValues(printDecl)) {
if (v.equalsIgnoreCase("prefix") || v.equalsIgnoreCase("op")) {
actionPrintPrefix = true;
} else if (v.equalsIgnoreCase("expr")) {
actionPrintSPARQL = true;
} else {
System.err.println("Unknown print form: " + v);
throw new TerminationException(0);
}
}
for (int i = 0; i < cl.getNumPositional(); i++) {
String exprStr = cl.getPositionalArg(i);
exprStr = cl.indirect(exprStr);
try {
PrefixMapping pmap = PrefixMapping.Factory.create();
pmap.setNsPrefixes(ARQConstants.getGlobalPrefixMap());
pmap.setNsPrefix("", "http://example/");
pmap.setNsPrefix("ex", "http://example/ns#");
Expr expr = ExprUtils.parse(exprStr, pmap);
if (actionPrint) {
IndentedWriter iOut = IndentedWriter.stdout;
if (actionPrintSPARQL) {
ExprUtils.fmtSPARQL(iOut, expr);
iOut.ensureStartOfLine();
}
if (actionPrintPrefix) {
WriterSSE.out(iOut, expr, new Prologue(pmap));
iOut.ensureStartOfLine();
}
iOut.flush();
continue;
}
if (verbose)
System.out.print(expr.toString() + " => ");
try {
if (actionCopySubstitute) {
Expr e = ExprLib.foldConstants(expr);
System.out.println(e);
} else {
// Default action
ARQ.getContext().set(ARQConstants.sysCurrentTime, NodeFactoryExtra.nowAsDateTime());
FunctionEnv env = new ExecutionContext(ARQ.getContext(), null, null, null);
NodeValue r = expr.eval(null, env);
// System.out.println(r.asQuotedString()) ;
Node n = r.asNode();
String s = NodeFmtLib.displayStr(n);
System.out.println(s);
}
} catch (ExprEvalException ex) {
System.out.println("Exception: " + ex.getMessage());
throw new TerminationException(2);
}
} catch (QueryParseException ex) {
System.err.println("Parse error: " + ex.getMessage());
throw new TerminationException(2);
}
}
}
Aggregations