private static Namespaces defaultConstraintReportNamespaces() { return defaultResourceNamespaces(). addPrefix("cnts", "http://www.ldp4j.org/ns/constraints#"). addPrefix("dct", "http://purl.org/dc/terms/"). addPrefix("http", "http://www.w3.org/2011/http#"). addPrefix("cnt", "http://www.w3.org/2011/content#"). addPrefix("http-methods", "http://www.w3.org/2011/http-methods#"). addPrefix("http-headers", "http://www.w3.org/2011/http-headers#"). addPrefix("sh", "http://www.w3.org/ns/shacl#"); }
@Override public void handleNamespace(String prefix, String uri) throws RDFHandlerException { this.getNamespaces().addPrefix(prefix,uri); }
private static Namespaces merge(Namespaces original, Namespaces source) { int counter=0; for(String prefix:source.getDeclaredPrefixes()) { String uri = source.getNamespaceURI(prefix); if(original.getNamespaceURI(prefix)==null) { original.addPrefix(prefix, uri); } else if(original.getPrefixes(uri).isEmpty()) { String newPrefix=null; do { newPrefix="ns"+(counter++); } while(original.getNamespaceURI(newPrefix)!=null); original.addPrefix(newPrefix, uri); } // ELSE: already covered } return original; }
@Override public Namespaces applicationNamespaces() { org.ldp4j.application.ext.Namespaces applicationNamespaces = this.applicationContext.applicationNamespaces(); Namespaces namespaces = new Namespaces(); for(String prefix:applicationNamespaces.getDeclaredPrefixes()) { namespaces.addPrefix(prefix, applicationNamespaces.getNamespaceURI(prefix)); } return namespaces; }
@Test public void testSerialize() throws Exception { InmutableTripleSet toSerialize=replace(sut,i1,uriRef("resources/defects/1")).add(complexLiterals); Namespaces namespaces = new Namespaces(). addPrefix("ex", VOCABULARY). addPrefix("rdf", RDF). addPrefix("xsd", XSD); URI baseURI = URI.create(DATA); Format format = Format.TURTLE; String serialization = serialize(toSerialize, baseURI, namespaces, format); System.out.println("Serialization :"); System.out.println(serialization); InmutableTripleSet parse = deserialize(serialization,baseURI.resolve("new"),format); System.out.println("Deserialization:"); System.out.println(parse); }
private Namespaces getNamespaces(RepositoryConnection connection) throws RepositoryException { Namespaces ns = new Namespaces(); RepositoryResult<Namespace> rr = null; try { rr=connection.getNamespaces(); while(rr.hasNext()) { Namespace n=rr.next(); ns.addPrefix(n.getPrefix(), n.getName()); } } finally { closeQuietly(rr,"Could not close results after retrieving namespaces"); } return ns; }