//package JSON2RDF;
//
//import java.io.*;
//import java.net.URI;
//import java.net.URISyntaxException;
//import java.nio.charset.Charset;
//import java.nio.charset.StandardCharsets;
//
//
//import org.json.simple.JSONArray;
//import org.json.simple.parser.JSONParser;
//import org.json.simple.parser.ParseException;
//
//import org.apache.jena.riot.system.StreamRDF;
//import org.apache.jena.riot.system.StreamRDFLib;
//import picocli.CommandLine;
//
//@CommandLine.Command(name = "json2rdf")
//public class JSON2RDF {
//    private final InputStream jsonIn;
//    private final OutputStream rdfOut;
//
//
//    @CommandLine.Parameters(paramLabel = "https://localhost/" , index = "0", description = "Base URI of the RDF output data")
//    private URI baseURI;
//
//    {
//        try {
//            baseURI = new URI("https://localhost/");
//        } catch (URISyntaxException e) {
//            e.printStackTrace();
//        }
//    }
//
////    @CommandLine.Parameters(paramLabel = "D:\\WORK\\GGD\\src\\eu.hsrw.ias.ggd.MainExe\\java\\Data", description = "json file")
//    @CommandLine.Option(names = { "--input-charset" }, description = "Input charset (default: ${DEFAULT-VALUE})")
//    private final Charset inputCharset = StandardCharsets.UTF_8;
//
//    @CommandLine.Option(names = { "--output-charset" }, description = "Output charset (default: ${DEFAULT-VALUE})")
//    private final Charset outputCharset = StandardCharsets.UTF_8;
//
//    public static void main(String[] args) throws IOException
//    {
//        JSON2RDF json2rdf = new JSON2RDF(System.in, System.out);
//
//        try
//        {
//            CommandLine.ParseResult parseResult = new CommandLine(json2rdf).parseArgs(args);
//            if (!CommandLine.printHelpIfRequested(parseResult)) json2rdf.convert();
//        }
//        catch (CommandLine.ParameterException ex)
//        { // command line arguments could not be parsed
//            System.err.println(ex.getMessage());
//            ex.getCommandLine().usage(System.err);
//        }
//    }
//
//    public JSON2RDF(InputStream csvIn, OutputStream rdfOut) {
//
//
//        this.jsonIn = csvIn;
//        this.rdfOut = rdfOut;
//    }
//
//
//        public void convert() throws IOException {
//        if (jsonIn.available() == 0) throw new IllegalStateException("JSON input not provided");
//
//        try (Reader reader =  new BufferedReader(new InputStreamReader(jsonIn, inputCharset)))
//        {
//            StreamRDF rdfStream = StreamRDFLib.writer(new BufferedWriter(new OutputStreamWriter(rdfOut, outputCharset)));
//            new JsonStreamRDFWriter(reader, rdfStream, baseURI.toString()).convert();
//        }
//    }
//
//}
//
