public void setPrefix(RDFDataset result, String fullUri, String prefix) { result.setNamespace(fullUri, prefix); }
public void setPrefix(RDFDataset result, String fullUri, String prefix) { result.setNamespace(fullUri, prefix); }
public void setPrefix(RDFDataset result, String fullUri, String prefix) { result.setNamespace(fullUri, prefix); }
public RDFDataset parseXmlJson(JSONObject input) throws JSONException { RDFDataset dataset = new RDFDataset(); if(!input.has("rdf:RDF")){ }else{ JSONObject rdf = input.getJSONObject("rdf:RDF"); HashMap<String, String> namespaces = new HashMap<>(); Iterator<String> keys = rdf.keys(); while(keys.hasNext()){ String key = keys.next(); if(key.contains("xmlns:")){ namespaces.put(key.replace("xmlns:", ""), rdf.getString(key)); dataset.setNamespace(key.replace("xmlns:", ""), rdf.getString(key)); } } for(String ns : namespaces.keySet()){ rdf.remove("xmlns:"+ns); } //System.out.println(rdf.toString(2)); parseInner(rdf, dataset, namespaces); } return dataset; }
if ("@vocab".equals(stringStringEntry.getKey())) { if (val == null || isString(val)) { setNamespace("", val); } else { setNamespace(stringStringEntry.getKey(), val);
if ("@vocab".equals(key)) { if (val == null || isString(val)) { setNamespace("", val); } else { setNamespace(key, val);
if ("@vocab".equals(key)) { if (val == null || isString(val)) { setNamespace("", val); } else { setNamespace(key, val);
private void importModel(RDFDataset result, Model model) { // add prefixes/namespaces final Map<String, String> nsPrefixMap = model.getNamespaces(); for (final String prefix : nsPrefixMap.keySet()) { result.setNamespace(prefix, nsPrefixMap.get(prefix)); } // add all statements from model final URI context = model.getContextURI(); final ClosableIterator<Statement> statements = model.iterator(); while (statements.hasNext()) { handleStatement(result, statements.next(), context); } statements.close(); }
validateIRI(state, iri); state.namespaces.put(ns, iri); result.setNamespace(ns, iri); } else { String base = match.group(3) != null ? match.group(3) : match.group(6);
@Override public RDFDataset parse(Object input) throws JsonLdError { final RDFDataset result = new RDFDataset(); if (input instanceof Statement) { handleStatement(result, (Statement) input); } else if (input instanceof Graph) { if (input instanceof Model) { final Set<Namespace> namespaces = ((Model) input).getNamespaces(); for (final Namespace nextNs : namespaces) { result.setNamespace(nextNs.getName(), nextNs.getPrefix()); } } for (final Statement nextStatement : (Graph) input) { handleStatement(result, nextStatement); } } return result; }
@Override public RDFDataset parse(Object input) throws JsonLdError { final RDFDataset result = new RDFDataset(); if (input instanceof Statement) { handleStatement(result, (Statement)input); } else if (input instanceof Graph) { if (input instanceof NamespaceAware) { final Set<Namespace> namespaces = ((NamespaceAware)input).getNamespaces(); for (final Namespace nextNs : namespaces) { result.setNamespace(nextNs.getName(), nextNs.getPrefix()); } } for (final Statement nextStatement : (Graph)input) { handleStatement(result, nextStatement); } } return result; }
@Override public RDFDataset parse(Object input) throws JsonLdError { final RDFDataset result = new RDFDataset(); if (input instanceof Statement) { handleStatement(result, (Statement)input); } else if (input instanceof Graph) { if (input instanceof NamespaceAware) { final Set<Namespace> namespaces = ((NamespaceAware)input).getNamespaces(); for (final Namespace nextNs : namespaces) { result.setNamespace(nextNs.getName(), nextNs.getPrefix()); } } for (final Statement nextStatement : (Graph)input) { handleStatement(result, nextStatement); } } return result; }
inputRdf.setNamespace("ex", ns);
@Test public void fromRdfWithNamespaceLexicographicallyShortestChosen() throws Exception { final RDFDataset inputRdf = new RDFDataset(); inputRdf.setNamespace("aat", "http://vocab.getty.edu/aat/"); inputRdf.setNamespace("aat_rev", "http://vocab.getty.edu/aat/rev/"); inputRdf.addTriple("http://vocab.getty.edu/aat/rev/5001065997", JsonLdConsts.RDF_TYPE, "http://vocab.getty.edu/aat/datatype"); final JsonLdOptions options = new JsonLdOptions(); options.useNamespaces = true; final Object fromRDF = JsonLdProcessor.compact(new JsonLdApi(options).fromRDF(inputRdf), inputRdf.getContext(), options); final RDFDataset rdf = (RDFDataset) JsonLdProcessor.toRDF(fromRDF, options); // System.out.println(rdf.getNamespaces()); assertEquals("http://vocab.getty.edu/aat/", rdf.getNamespace("aat")); assertEquals("http://vocab.getty.edu/aat/rev/", rdf.getNamespace("aat_rev")); final String toJSONLD = JsonUtils.toPrettyString(fromRDF); // System.out.println(toJSONLD); assertTrue("The lexicographically shortest URI was not chosen", toJSONLD.contains("aat:rev/")); }
@Test public void fromRdfWithNamespaceLexicographicallyShortestChosen2() throws Exception { final RDFDataset inputRdf = new RDFDataset(); inputRdf.setNamespace("aat", "http://vocab.getty.edu/aat/"); inputRdf.setNamespace("aatrev", "http://vocab.getty.edu/aat/rev/"); inputRdf.addTriple("http://vocab.getty.edu/aat/rev/5001065997", JsonLdConsts.RDF_TYPE, "http://vocab.getty.edu/aat/datatype"); final JsonLdOptions options = new JsonLdOptions(); options.useNamespaces = true; final Object fromRDF = JsonLdProcessor.compact(new JsonLdApi(options).fromRDF(inputRdf), inputRdf.getContext(), options); final RDFDataset rdf = (RDFDataset) JsonLdProcessor.toRDF(fromRDF, options); // System.out.println(rdf.getNamespaces()); assertEquals("http://vocab.getty.edu/aat/", rdf.getNamespace("aat")); assertEquals("http://vocab.getty.edu/aat/rev/", rdf.getNamespace("aatrev")); final String toJSONLD = JsonUtils.toPrettyString(fromRDF); // System.out.println(toJSONLD); assertFalse("The lexicographically shortest URI was not chosen", toJSONLD.contains("aat:rev/")); }
@Test public void prefixUsedToShortenPredicate() throws Exception { final RDFDataset inputRdf = new RDFDataset(); inputRdf.setNamespace("ex", "http://www.a.com/foo/"); inputRdf.addTriple("http://www.a.com/foo/s", "http://www.a.com/foo/p", "http://www.a.com/foo/o"); assertEquals("http://www.a.com/foo/", inputRdf.getNamespace("ex")); final JsonLdOptions options = new JsonLdOptions(); options.useNamespaces = true; final Object fromRDF = JsonLdProcessor.compact(new JsonLdApi(options).fromRDF(inputRdf), inputRdf.getContext(), options); final String toJSONLD = JsonUtils.toPrettyString(fromRDF); // System.out.println(toJSONLD); assertFalse("The lexicographically shortest URI was not chosen", toJSONLD.contains("http://www.a.com/foo/p")); }
final RDFDataset inputRdf = new RDFDataset(); final String ns = "http://www.example.com/foo/"; inputRdf.setNamespace("ex", ns); inputRdf.addTriple(ns + "s", ns + "p", ns + "o"); inputRdf.addTriple(ns + "s", ns + "p", ns + "o");