private String renderReferrers(Set<Resource> referrers) { StringBuilder buffer=new StringBuilder(); Iterator<Resource> it=referrers.iterator(); while(it.hasNext()) { buffer.append(utils.toString(it.next())); if(it.hasNext()) { buffer.append(", "); } } return buffer.toString(); }
private void collectNamespace(Value element) { URI uri=null; boolean datatype=false; if(element instanceof URI) { uri=(URI)element; } else if(element instanceof Literal) { uri=((Literal)element).getDatatype(); datatype=true; } if(uri!=null && !(datatype && TurtleValueUtils.canOmmitDatatype(uri))) { String namespace=uri.getNamespace(); if(LOGGER.isTraceEnabled() && !usedNamespaces.contains(namespace)) { LOGGER.trace(String.format("Collected namespace: %s",namespace)); } usedNamespaces.add(namespace); } }
private int compareURI(Resource o2, URI uri) { if(o2 instanceof URI) { return TurtleValueUtils.compare(uri,(URI)o2); } else { return -1; } }
public String toString(Value v) { String result=null; if(v instanceof URI) { result=writeURI((URI)v); } else if(v instanceof BNode) { result=writeBNode((BNode)v); } else if(v instanceof Literal) { result=writeLiteral((Literal)v); } else { throw new IllegalStateException("Unexpected value type "+v.getClass().getCanonicalName()); } return result; }
String label = lit.getLabel(); if(isMultiLineString(label)) { if(datatype!=null) { if(!canOmmitDatatype(datatype)) { // NOSONAR builder.append(writeURI(datatype));
GraphRenderer(Graph graph, boolean enableFolding) { this.disableFolding = !enableFolding; this.graph = graph; this.base = graph.getBase(); this.namespaces = graph.getNamespaces(); this.builder = new StringBuilder(); this.utils = new TurtleValueUtils((URI)base,namespaces); this.indenter = new IndentUtils(1); }
private String writeURI(URI uri) { String result=null; String prefix=namespaceTable.get(uri.getNamespace()); if(prefix!=null) { // Namespace is mapped to a prefix; write abbreviated URI result=String.format("%s:%s",prefix,uri.getLocalName()); } else { // Namespace is not mapped to a prefix; write the resolved URI result=String.format("<%s>",TurtleUtil.encodeURIString(resolve(uri).toString())); } return result; }
@Before public void setUp() throws Exception { vf=new MemValueFactory(); namespaces=new HashMap<String, String>(); namespaces.put("sav", "http://www.megatwork.org/vocabulary#"); namespaces.put("saw", BASE); sut = new TurtleValueUtils(vf.createURI(BASE),namespaces); }
private void renderSubject(Individual individual) { builder.append(NL).append(utils.toString(individual.getSubject())); if(individual.isAnonymous()) { String tail= !individual.isReferred()? "\t# Not referenced": String.format( "\t# Referenced %d times by resources: %s", individual.getReferences(), renderReferrers(individual.getReferrers())); builder.append(tail); } }
@Override public int compare(URI o1, URI o2) { if(o1.toString().equals(RDF_TYPE)) { return -1; } else if(o2.toString().equals(RDF_TYPE)) { return 1; } else { return TurtleValueUtils.compare(o1,o2); } }
private void renderPredicateValues(Individual individual, URI predicate) { Assertions assertions=individual.getAssertions(predicate); Resource subject=individual.getSubject(); builder.append(NL).append(indenter.indent()).append(utils.toString(predicate)); String statementSeparator=" "; if(assertions.size()>3) { indenter.increase(); statementSeparator=NL.concat(indenter.indent()); } Iterator<Value> objectIterator = assertions.iterator(); String valueSeparator; do { builder.append(statementSeparator); Value object = objectIterator.next(); if(tryRenderingFolded(subject,object)) { valueSeparator=" ,"; } else { builder.append(utils.toString(object)); valueSeparator=","; } if(objectIterator.hasNext()) { builder.append(valueSeparator); } } while(objectIterator.hasNext()); if(assertions.size()>3) { indenter.decrease(); } }
@Test public void testToString$baseAsResource() throws Exception { System.out.println("Base as resource: "+sut.toString(vf.createURI(BASE.substring(0,BASE.length()-1)))); }
@Test public void testToString$self() throws Exception { System.out.println("Self: "+sut.toString(vf.createURI(BASE.concat(".")))); }
@Test public void testToString$ancestor() throws Exception { System.out.println("Ancestor: "+sut.toString(vf.createURI(BASE+".."))); }
@Test public void testToString$child() throws Exception { System.out.println("Child: "+sut.toString(vf.createURI(BASE+"child"))); }
@Test public void testToString$sameAsBase() throws Exception { System.out.println("Same as base: "+sut.toString(vf.createURI(BASE))); }