use of com.bigdata.rdf.model.BigdataValue in project wikidata-query-rdf by wikimedia.
the class BigdataValuesHelper method makeIV.
/**
* Make IV from a value.
* @param type Value type.
*/
public static IV makeIV(BigdataValueFactory vf, Value value, VTE type) {
final BigdataValue l = vf.asValue(value);
TermId mock = TermId.mockIV(type);
mock.setValue(l);
l.setIV(mock);
return mock;
}
use of com.bigdata.rdf.model.BigdataValue in project wikidata-query-rdf by wikimedia.
the class GeoService method getGlobeNode.
/**
* Create globe node with appropriate value for coordSystem.
*/
protected TermNode getGlobeNode(BigdataValueFactory vf, ServiceParams serviceParams) {
final TermNode globeNode = serviceParams.get(GLOBE_PARAM, null);
if (globeNode == null) {
return new DummyConstantNode(vf.createLiteral(WKTSerializer.NO_GLOBE));
}
if (!globeNode.isConstant()) {
// FIXME: add support for this
throw new IllegalArgumentException("Non-constant globe value is not supported yet.");
}
BigdataValue v = globeNode.getValue();
if (v instanceof BigdataURI) {
WKTSerializer ser = new WKTSerializer();
try {
return new DummyConstantNode(vf.createLiteral(ser.trimCoordURI(v.stringValue())));
} catch (GeoSpatialSearchException e) {
// Unexpectedly wrong URI - still pass it along
return globeNode;
}
}
return globeNode;
}
use of com.bigdata.rdf.model.BigdataValue in project wikidata-query-rdf by wikimedia.
the class CoordinatePartBOp method get.
@Override
public IV get(IBindingSet bindingSet) {
final IV coord = getAndCheckLiteral(0, bindingSet);
final WikibasePoint point = pointFromIV(coord);
final BigdataValue result;
switch(part()) {
case GLOBE:
String globe = point.getGlobe();
if (globe == null) {
result = getValueFactory().createLiteral("");
} else {
result = getValueFactory().createURI(point.getGlobe());
}
break;
case LON:
result = getValueFactory().createLiteral(Double.parseDouble(point.getLongitude()));
break;
case LAT:
result = getValueFactory().createLiteral(Double.parseDouble(point.getLatitude()));
break;
default:
throw new IllegalArgumentException("Unknown part specified");
}
return super.asIV(result, bindingSet);
}
Aggregations