public static Object LoadFromReader(Reader r, string baseUri, org.openrdf.rio.RDFFormat rdff) { Object obj; if (rdff == dotSesameFormats.RDFFormat.N3) { obj = new Graph(); if (baseUri != null) ((IGraph)obj).BaseUri = new Uri(baseUri); Notation3Parser parser = new Notation3Parser(); parser.Load((IGraph)obj, r.ToDotNetReadableStream()); } else if (rdff == dotSesameFormats.RDFFormat.NTRIPLES) { obj = new Graph(); if (baseUri != null) ((IGraph)obj).BaseUri = new Uri(baseUri); NTriplesParser parser = new NTriplesParser(); parser.Load((IGraph)obj, r.ToDotNetReadableStream()); } else if (rdff == dotSesameFormats.RDFFormat.RDFXML) { obj = new Graph(); if (baseUri != null) ((IGraph)obj).BaseUri = new Uri(baseUri); RdfXmlParser parser = new RdfXmlParser(); parser.Load((IGraph)obj, r.ToDotNetReadableStream()); } else if (rdff == dotSesameFormats.RDFFormat.TRIG) { obj = new TripleStore(); TriGParser trig = new TriGParser(); trig.Load((ITripleStore)obj, new StreamParams(r.ToDotNetReadableStream().BaseStream)); } else if (rdff == dotSesameFormats.RDFFormat.TRIX) { obj = new TripleStore(); TriXParser trix = new TriXParser(); trix.Load((ITripleStore)obj, new StreamParams(r.ToDotNetReadableStream().BaseStream)); } else if (rdff == dotSesameFormats.RDFFormat.TURTLE) { obj = new Graph(); if (baseUri != null) ((IGraph)obj).BaseUri = new Uri(baseUri); TurtleParser parser = new TurtleParser(); parser.Load((IGraph)obj, r.ToDotNetReadableStream()); } else { throw new RdfParserSelectionException("The given Input Format is not supported by dotNetRDF"); } return obj; }