Search in sources :

Example 26 with RDFDatatype

use of org.apache.jena.datatypes.RDFDatatype in project jena by apache.

the class ParserBase method stripSign.

protected Node stripSign(Node node) {
    if (!node.isLiteral())
        return node;
    String lex = node.getLiteralLexicalForm();
    String lang = node.getLiteralLanguage();
    RDFDatatype dt = node.getLiteralDatatype();
    if (!lex.startsWith("-") && !lex.startsWith("+"))
        throw new ARQInternalErrorException("Literal does not start with a sign: " + lex);
    lex = lex.substring(1);
    return NodeFactory.createLiteral(lex, lang, dt);
}
Also used : ARQInternalErrorException(org.apache.jena.sparql.ARQInternalErrorException) RDFDatatype(org.apache.jena.datatypes.RDFDatatype)

Example 27 with RDFDatatype

use of org.apache.jena.datatypes.RDFDatatype in project jena by apache.

the class Rational method testUserDef.

/**
     * Tests the base functioning of a user defined datatype
     */
public void testUserDef() {
    // Register the user defined type for rationals
    RDFDatatype rtype = RationalType.theRationalType;
    TypeMapper.getInstance().registerDatatype(rtype);
    Literal l1 = m.createTypedLiteral("3/5", rtype);
    Literal l3 = m.createTypedLiteral("7/5", rtype);
    // Check for successful creation
    assertNotNull(l1);
    assertNotNull(l3);
    // check equality function
    assertDiffer("values should be tested!", l1, l3);
    // Check typed accessors
    assertSame("Datatype incorrect", l1.getDatatype(), rtype);
    assertEquals("Datatype uri incorrect", l1.getDatatypeURI(), RationalType.theTypeURI);
    Object val = l1.getValue();
    assertTrue("Value space check", val instanceof Rational);
    assertTrue("Value check", ((Rational) val).getNumerator() == 3);
    assertTrue("Value check", ((Rational) val).getDenominator() == 5);
    try {
        l1.getInt();
        assertTrue("Allowed int conversion", false);
    } catch (DatatypeFormatException e) {
    }
    assertEquals("Extract xml tag", l1.isWellFormedXML(), false);
}
Also used : DatatypeFormatException(org.apache.jena.datatypes.DatatypeFormatException) RDFDatatype(org.apache.jena.datatypes.RDFDatatype)

Example 28 with RDFDatatype

use of org.apache.jena.datatypes.RDFDatatype in project jena by apache.

the class TestNode method assertString.

private static void assertString(Node n) {
    RDFDatatype dt = n.getLiteralDatatype();
    assertEquals("", n.getLiteralLanguage());
    if (JenaRuntime.isRDF11)
        assertEquals(XSDDatatype.XSDstring, dt);
    else
        assertEquals(null, dt);
}
Also used : RDFDatatype(org.apache.jena.datatypes.RDFDatatype)

Example 29 with RDFDatatype

use of org.apache.jena.datatypes.RDFDatatype in project jena by apache.

the class TestNode method testLiteralToString.

public void testLiteralToString() {
    TypeMapper tm = TypeMapper.getInstance();
    RDFDatatype dtInt = tm.getTypeByValue(new Integer(10));
    Node plain = NodeFactory.createLiteral("rhubarb", "");
    Node english = NodeFactory.createLiteral("eccentric", "en_UK");
    Node typed = NodeFactory.createLiteral("10", dtInt);
    assertEquals("\"rhubarb\"", plain.toString());
    assertEquals("rhubarb", plain.toString(false));
    assertEquals("\"eccentric\"@en_UK", english.toString());
    assertEquals("10^^http://www.w3.org/2001/XMLSchema#int", typed.toString(false));
}
Also used : TypeMapper(org.apache.jena.datatypes.TypeMapper) RDFDatatype(org.apache.jena.datatypes.RDFDatatype)

Example 30 with RDFDatatype

use of org.apache.jena.datatypes.RDFDatatype in project jena by apache.

the class TestNode method testDataMatches.

public void testDataMatches() {
    TypeMapper tm = TypeMapper.getInstance();
    RDFDatatype dt1 = tm.getTypeByValue(new Integer(10));
    RDFDatatype dt2 = tm.getTypeByValue(new Short((short) 10));
    Node a = NodeFactory.createLiteral("10", dt1);
    Node b = NodeFactory.createLiteral("10", dt2);
    assertDiffer("types must make a difference", a, b);
    assertTrue("A and B must express the same value", a.sameValueAs(b));
    assertTrue("matching literals must respect sameValueAs", a.matches(b));
}
Also used : TypeMapper(org.apache.jena.datatypes.TypeMapper) RDFDatatype(org.apache.jena.datatypes.RDFDatatype)

Aggregations

RDFDatatype (org.apache.jena.datatypes.RDFDatatype)35 Node (org.apache.jena.graph.Node)9 LiteralLabel (org.apache.jena.graph.impl.LiteralLabel)6 TypeMapper (org.apache.jena.datatypes.TypeMapper)4 RDFLangString (org.apache.jena.datatypes.xsd.impl.RDFLangString)4 BigDecimal (java.math.BigDecimal)3 BigInteger (java.math.BigInteger)2 DatatypeFormatException (org.apache.jena.datatypes.DatatypeFormatException)2 RDFNode (org.apache.jena.rdf.model.RDFNode)2 ARQInternalErrorException (org.apache.jena.sparql.ARQInternalErrorException)2 FileReader (java.io.FileReader)1 Duration (javax.xml.datatype.Duration)1 InternalErrorException (org.apache.jena.atlas.lib.InternalErrorException)1 BaseDatatype (org.apache.jena.datatypes.BaseDatatype)1 XSDDateTime (org.apache.jena.datatypes.xsd.XSDDateTime)1 EnhNode (org.apache.jena.enhanced.EnhNode)1 RiotException (org.apache.jena.riot.RiotException)1 LabelToNode (org.apache.jena.riot.lang.LabelToNode)1 Token (org.apache.jena.riot.tokens.Token)1 Item (org.apache.jena.sparql.sse.Item)1