@Override public NODE visit(Constant<?> expr, Bindings bindings) { if (expr.getType().equals(String.class)) { return new LIT(expr.getConstant().toString()); } else if (NODE.class.isAssignableFrom(expr.getType())) { return (NODE) expr.getConstant(); } else { UID datatype = ConverterRegistryImpl.DEFAULT.getDatatype(expr.getType()); String value = ConverterRegistryImpl.DEFAULT.toString(expr.getConstant()); return new LIT(value, datatype); } }
@Override public ID getID(LID lid) { STMT stmt = find(null, CORE.localId, new LIT(lid.getId())); return stmt != null ? stmt.getSubject() : null; }
private LIT toRDFLiteral(Object o) { if (o instanceof LIT) { return (LIT) o; } UID dataType = configuration.getConverterRegistry().getDatatype(o.getClass()); return new LIT(configuration.getConverterRegistry().toString(o), dataType); }
@Before public void setUp() { List<STMT> stmts = new ArrayList<STMT>(); stmts.add(new STMT(RDF.type, RDF.type, RDF.Property)); stmts.add(new STMT(RDF.type, RDFS.label, new LIT("type"))); stmts.add(new STMT(RDF.type, RDFS.label, new LIT("tyyppi", new Locale("fi")))); stmts.add(new STMT(RDFS.Resource, RDF.type, RDFS.Class)); stmts.add(new STMT(RDFS.Resource, RDFS.label, new LIT("Resource"))); repository.add(stmts.toArray(new STMT[stmts.size()])); }
@Override public LID getLID(ID id) { STMT stmt = find(id, CORE.localId, null); String lid; if (stmt != null) { lid = stmt.getObject().getValue(); } else { lid = String.valueOf(connection.getNextLocalId()); add(id, CORE.localId, new LIT(lid)); } return new LID(lid); }
@Test public void test2() { STMT stmt1 = new STMT(new UID(TEST.NS, "e1"), RDFS.label, new LIT("a")); STMT stmt2 = new STMT(new UID(TEST.NS, "e1"), RDFS.label, new LIT("b")); STMT stmt3 = new STMT(new UID(TEST.NS, "e1"), RDFS.label, new LIT("c")); STMT stmt4 = new STMT(new UID(TEST.NS, "e1"), RDFS.label, new LIT("d")); List<STMT> stmts = Arrays.<STMT> asList(stmt4, stmt3, stmt2, stmt1); Collections.sort(stmts, comparator); assertEquals(Arrays.asList(stmt1, stmt2, stmt3, stmt4), stmts); } }
@Before public void setUp() { connection.addStatements( new STMT(id, RDF.type, RDFS.Resource), new STMT(id, RDFS.label, new LIT("id"))); }
@Test public void Like_as_Matches_2() { visitor.setLikeAsMatches(true); visitor.handle(PredicateOperation.create(Ops.LIKE, QNODE.o, new ConstantImpl(LIT.class, new LIT("x_")))); assertEquals("regex(?o, ?_c2)", visitor.toString()); assertTrue(visitor.getConstantToLabel().containsKey(new LIT("x."))); }
@Test public void RDFText_typed_Literal() { writer.begin(); writer.handle(new STMT(RDF.predicate, RDFS.label, new LIT("123", RDF.text))); writer.end(); System.out.println(writer.toString()); String str = writer.toString(); assertTrue(str.contains("rdf:predicate rdfs:label \"123\" .")); } }
@Test public void Long_String_Encoding() { writer.begin(); writer.handle(new STMT(RDF.predicate, RDFS.label, new LIT("1\n2\n3"))); writer.end(); System.out.println(writer.toString()); String str = writer.toString(); assertTrue(str.contains("rdf:predicate rdfs:label \"\"\"1\n2\n3\"\"\"^^xsd:string .")); }
@Test public void Duplicate_Predicate() { writer.handle(new STMT(RDF.type, RDF.type, RDF.Property)); writer.handle(new STMT(RDF.type, RDF.type, RDFS.Resource)); writer.handle(new STMT(RDF.type, RDFS.label, new LIT("X"))); writer.end(); System.out.println(writer.toString()); String str = writer.toString(); assertTrue(str.contains("rdf:type a rdf:Property , rdfs:Resource ; rdfs:label \"X\"^^xsd:string .")); }
@Override @Before public void before() { super.before(); connection().update(null, Arrays.asList( new STMT(new BID(), RDFS.label, new LIT("C")), new STMT(new BID(), RDF.type, RDFS.Resource))); }
@Test public void test() { NODE uri = RDF.type; NODE bnode = new BID(); NODE lit = new LIT(""); assertEquals(uri, uri.asURI()); assertEquals(bnode, bnode.asBNode()); assertEquals(lit, lit.asLiteral()); }
@Test public void GetNodeTypeNODE() { assertEquals(NodeType.URI, dialect.getNodeType(RDFS.label)); assertEquals(NodeType.BLANK, dialect.getNodeType(new BID())); assertEquals(NodeType.LITERAL, dialect.getNodeType(new LIT("test"))); }
@Test public void Compare() { BID bid = new BID("c"); UID uid = new UID("b:b"); LIT lit = new LIT("a"); assertEquals(0, comparator.compare(bid, bid)); assertEquals(0, comparator.compare(uid, uid)); assertEquals(0, comparator.compare(lit, lit)); }
@Test @Ignore public void From() { UID test = new UID(TEST.NS); UID test2 = new UID(TEST.NS, "Res1"); connection().update(null, Arrays.asList(new STMT(new BID(), RDFS.label, new LIT("C"), test))); assertTrue(query().from(test).where(Blocks.pattern(subject, predicate, object)).ask()); assertTrue(query().from(test, test2).where(Blocks.pattern(subject, predicate, object)).ask()); assertFalse(query().from(test2).where(Blocks.pattern(subject, predicate, object)).ask()); }