@Test public void testRead() throws Exception { Model shapesModel = RDFReaderFactory.createResourceReader(shapeResource).read(); List<Shape> shapes = shapesModel .listResourcesWithProperty(RDF.type, SHACL.Shape) .toList() .stream() .map(r -> ShapeReader.create().read(r)) .collect(Collectors.toList()); assertThat(shapes).hasSize(1); Shape sh = shapes.get(0); assertThat(sh.getScopes()).hasSize(ShapeScopeType.values().length); List<ShapeScopeType> scopeTypes = sh.getScopes() .stream() .map(ShapeScope::getScopeType) .distinct() .collect(Collectors.toList()); // distinct scopes assertThat(scopeTypes).hasSize(ShapeScopeType.values().length); }
/** * Generates a Dereference reader. This can be either a remote url, a local file or a resource * * @param uri a uri that can be a remote (http) resource, a local file or a java resource object * @return a RDFFirstSuccessReader that tries to resolve 1) remote 2) local 3) resources */ public static RDFReader createDereferenceReader(String uri) { Collection<RDFReader> readers = new ArrayList<>(); if (!IOUtils.isFile(uri)) { readers.add(new RDFDereferenceReader(uri)); readers.add(new RDFaReader(uri)); } else { readers.add(new RDFStreamReader(uri)); readers.add(RDFReaderFactory.createResourceReader(uri)); } return new RDFFirstSuccessReader(readers); }
/** * createEmptyReader. * * @return a {@link org.aksw.rdfunit.io.reader.RDFReader} object. * @since 0.7.19 */ public static RDFReader createEmptyReader() { return RDFReaderFactory.createResourceReader("/org/aksw/rdfunit/data/empty.ttl"); }