Hello All,
Our java application started recently started barfing when we attempted to insert xsd:dateTime literals formatted like the following:
2017-03-02T14:14:23.000-0800
I noticed that the stardog web console has no problem with the following sparql:
select * where {
bind ("2017-03-02T13:31:59.000-0800"^^xsd:dateTime as ?t1)
bind ("2017-03-02T13:31:59.000Z"^^xsd:dateTime as ?t2)
bind ( datatype (?t1) as ?type1)
bind ( datatype (?t2) as ?type2)
}
Our java app uses RDF4J to create triples that are later insert into Stardog. Here’s an excerpt:
Literal literal;
if (property.getLiteralType() != null) {
IRI typeIri = this.vf.createIRI(property.getLiteralType());
literal = this.vf.createLiteral(value, typeIri);
} else {
literal = this.vf.createLiteral(value);
}
this.trips.add(this.vf.createStatement(parentIndividual, this.vf.createIRI(property.getPredicate()), literal));
Stardog seems to be kicking back this error message when we encounter the format in question:
14:22:14.215 [ForkJoinPool-1-worker-5] WARN [c.c.c.s.r.r.CustomSPARQLProtocolSession] Server reports problem: {"message":"Data block for update operation could not be parsed: '2017-03-02T14:14:23.000-0800' is not a valid value for datatype http://www.w3.org/2001/XMLSchema#dateTime [line 10]","code":"MalformedQuery"}
Is this a bug? Am I missing something?
Thank You,
Peter Neorr
Champion Technology Company