本文整理汇总了Java中org.apache.jena.datatypes.TypeMapper类的典型用法代码示例。如果您正苦于以下问题:Java TypeMapper类的具体用法?Java TypeMapper怎么用?Java TypeMapper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TypeMapper类属于org.apache.jena.datatypes包,在下文中一共展示了TypeMapper类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addProperties
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public void addProperties(List<UDTValue> properties) {
if (properties != null && !properties.isEmpty()) {
for (UDTValue value : properties) {
Property property = ResourceFactory.createProperty(value.getString("property"));
RDFNode propertyValue;
if (value.isNull("datatype")) {
propertyValue = ResourceFactory.createResource(value.getString("value"));
} else {
propertyValue = ResourceFactory.createTypedLiteral(value.getString("value"),
TypeMapper.getInstance().getSafeTypeByName(value.getString("datatype")));
}
addProperty(property, propertyValue);
}
}
}
示例2: exec
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
@Override
protected NodeValue exec(Node literalNode, Node datatypeNode, FunctionEnv env) {
if(literalNode == null || !literalNode.isLiteral()) {
throw new ExprEvalException();
}
String lex = literalNode.getLiteralLexicalForm();
if(!datatypeNode.isURI()) {
throw new ExprEvalException();
}
RDFDatatype datatype = TypeMapper.getInstance().getTypeByName(datatypeNode.getURI());
if(datatype == null) {
return NodeValue.TRUE;
}
else {
boolean valid = datatype.isValid(lex);
return NodeValue.makeBoolean(valid);
}
}
示例3: build
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public org.apache.jena.graph.Node build() {
if (dt != null) {
RDFDatatype dType = TypeMapper.getInstance().getSafeTypeByName(dt);
return NodeFactory.createLiteral(value, dType);
} else if (lang != null && !lang.isEmpty())
return NodeFactory.createLiteral(value, lang);
else
return NodeFactory.createLiteral(value);
}
示例4: exec
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
@Override
public List<NodeValue> exec(NodeValue cbor, NodeValue jsonpath) {
if (cbor.getDatatypeURI() != null
&& !cbor.getDatatypeURI().equals(datatypeUri)
&& !cbor.getDatatypeURI().equals("http://www.w3.org/2001/XMLSchema#string")) {
LOG.warn("The URI of NodeValue1 MUST be"
+ " <" + datatypeUri + "> or"
+ " <http://www.w3.org/2001/XMLSchema#string>. Got <"
+ cbor.getDatatypeURI() + ">. Returning null.");
}
Configuration conf = Configuration.builder()
.options(Option.ALWAYS_RETURN_LIST).build();
String json = new String(Base64.getDecoder().decode(cbor.asNode().getLiteralLexicalForm().getBytes()));
try {
List<Object> values = JsonPath
.using(conf)
.parse(json)
.read(jsonpath.getString());
List<NodeValue> nodeValues = new ArrayList<>(values.size());
Gson gson = new Gson();
for (Object value : values) {
RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(datatypeUri);
String jsonstring = gson.toJson(value);
Node node = NodeFactory.createLiteral(jsonstring, dt);
NodeValue nodeValue = new NodeValueNode(node);
nodeValues.add(nodeValue);
}
return nodeValues;
} catch (Exception ex) {
LOG.debug("No evaluation of " + cbor + ", " + jsonpath, ex);
throw new ExprEvalException("No evaluation of " + cbor + ", " + jsonpath, ex);
}
}
示例5: exec
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
@Override
public List<NodeValue> exec(NodeValue json, NodeValue jsonquery) {
if (json.getDatatypeURI() != null
&& !json.getDatatypeURI().equals(datatypeUri)
&& !json.getDatatypeURI().equals("http://www.w3.org/2001/XMLSchema#string")) {
LOG.warn("The URI of NodeValue1 MUST be"
+ " <" + datatypeUri + "> or"
+ " <http://www.w3.org/2001/XMLSchema#string>. Got "
+ json.getDatatypeURI());
}
Configuration conf = Configuration.builder()
.options(Option.ALWAYS_RETURN_LIST).build();
try {
List<Object> values = JsonPath
.using(conf)
.parse(json.asNode().getLiteralLexicalForm())
.read(jsonquery.getString());
List<NodeValue> nodeValues = new ArrayList<>(values.size());
Gson gson = new Gson();
for (Object value : values) {
RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(datatypeUri);
String jsonstring = gson.toJson(value);
Node node = NodeFactory.createLiteral(jsonstring, dt);
NodeValue nodeValue = new NodeValueNode(node);
nodeValues.add(nodeValue);
}
return nodeValues;
} catch (Exception ex) {
LOG.debug("No evaluation for " + json + ", " + jsonquery, ex);
throw new ExprEvalException("No evaluation for " + json + ", " + jsonquery, ex);
}
}
示例6: exec
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
@Override
public List<NodeValue> exec(NodeValue html, NodeValue cssSelector) {
if (html.getDatatypeURI() != null
&& !html.getDatatypeURI().equals(datatypeUri)
&& !html.getDatatypeURI().equals("http://www.w3.org/2001/XMLSchema#string")) {
LOG.warn("The URI of NodeValue1 MUST be"
+ " <" + datatypeUri + "> or"
+ " <http://www.w3.org/2001/XMLSchema#string>. Got <"
+ html.getDatatypeURI() + ">. Returning null.");
}
RDFDatatype dt = TypeMapper.getInstance()
.getSafeTypeByName(datatypeUri);
try {
String sourceHtml = String.valueOf(html.asNode().getLiteralLexicalForm());
Document htmldoc = Jsoup.parse(sourceHtml);
String selectPath = String.valueOf(cssSelector.asNode().getLiteralValue());
Elements elements = htmldoc.select(selectPath);
LOG.debug("===> Number of iterations for " + cssSelector + " " + elements.size());
List<NodeValue> nodeValues = new ArrayList<>(elements.size());
NodeValue nodeValue;
for (Element element : elements) {
String htmlValue = element.toString();
Node node = NodeFactory.createLiteral(htmlValue, dt);
nodeValue = new NodeValueNode(node);
nodeValues.add(nodeValue);
}
return nodeValues;
} catch (Exception ex) {
LOG.debug("No evaluation of " + html + ", " + cssSelector, ex);
throw new ExprEvalException("No evaluation of " + html + ", " + cssSelector, ex);
}
}
示例7: addParameters
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public void addParameters(List<UDTValue> parameters) {
if (parameters != null && !parameters.isEmpty()) {
for (UDTValue value : parameters) {
Resource parameter = ResourceFactory.createResource(value.getString("for_parameter"));
RDFNode parameterValue = ResourceFactory.createTypedLiteral(value.getString("value"),
TypeMapper.getInstance().getSafeTypeByName(value.getString("datatype")));
addParameter(parameter, parameterValue);
}
}
}
示例8: literal
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public JSLiteral literal(String value, Object langOrDatatype) {
if(langOrDatatype instanceof JSNamedNode) {
return new JSLiteral(NodeFactory.createLiteral(value, TypeMapper.getInstance().getTypeByName(((JSNamedNode)langOrDatatype).getValue())));
}
else if(langOrDatatype instanceof String) {
return new JSLiteral(NodeFactory.createLiteral(value, (String)langOrDatatype));
}
else {
throw new IllegalArgumentException("Invalid type of langOrDatatype argument");
}
}
示例9: getNode
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
public static Node getNode(Object obj) {
if(obj == null) {
return null;
}
else if(obj instanceof JSTerm) {
return ((JSTerm)obj).getNode();
}
else if(obj instanceof Map) {
Map som = (Map) obj;
String value = (String) som.get(VALUE);
if(value == null) {
throw new IllegalArgumentException("Missing value");
}
String termType = (String) som.get(TERM_TYPE);
if(NAMED_NODE.equals(termType)) {
return NodeFactory.createURI(value);
}
else if(BLANK_NODE.equals(termType)) {
return NodeFactory.createBlankNode(value);
}
else if(LITERAL.equals(termType)) {
String lang = (String) som.get(LANGUAGE);
Map dt = (Map)som.get(DATATYPE);
String dtURI = (String)dt.get(VALUE);
RDFDatatype datatype = TypeMapper.getInstance().getSafeTypeByName(dtURI);
return NodeFactory.createLiteral(value, lang, datatype);
}
else {
throw new IllegalArgumentException("Unsupported term type " + termType);
}
}
else {
return null;
}
}
示例10: addNamespace
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public static Resource addNamespace(Resource ontology, String prefix, String namespace) {
Resource declaration = ontology.getModel().createResource(SH.PrefixDeclaration);
ontology.addProperty(SH.declare, declaration);
declaration.addProperty(SH.prefix, prefix);
declaration.addProperty(SH.namespace, ResourceFactory.createTypedLiteral(namespace, TypeMapper.getInstance().getSafeTypeByName(XSD.anyURI.getURI())));
return declaration;
}
示例11: bodyCall
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public boolean bodyCall(Node[] args, int length, RuleContext context) {
BindingEnvironment env = context.getEnv();
Node value = env.getGroundVersion(args[0]);
TypeMapper tm = TypeMapper.getInstance();
RDFDatatype type = tm.getTypeByName(PrintUtil.expandQname(args[2].toString()));
Node cast = NodeFactory.createLiteral(value.getLiteral().getValue().toString(),null,type);
env.bind(args[1],cast);
return type.isValid(value.getLiteral().getValue().toString());
}
示例12: bodyCall
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public boolean bodyCall(Node[] args, int length, RuleContext context) {
BindingEnvironment env = context.getEnv();
InfGraph graph = context.getGraph();
Node s = env.getGroundVersion(args[0]);
Node p = env.getGroundVersion(args[1]);
ExtendedIterator i = graph.find(s,p,null);
int n = i.toSet().size();
TypeMapper tm = TypeMapper.getInstance();
RDFDatatype type = tm.getTypeByName(XSD.xint.getURI());
Node count = NodeFactory.createLiteral(Integer.toString(n),null,type);
env.bind(args[2],count);
return true;
}
示例13: createTypedLiteral
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
/**
*
* @param label
* @param typeURI
* @return
*/
@Override
public RDFNode createTypedLiteral( final String label,
final String typeURI )
{
final RDFDatatype dt = TypeMapper.getInstance()
.getSafeTypeByName( typeURI );
return ResourceFactory.createTypedLiteral( label, dt );
}
示例14: datatype
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
public static Node datatype(Object value, Object type) {
String typeURI = type.toString();
if (typeURI.startsWith("xsd:")) {
typeURI = typeURI.replace("xsd:", XSD.getURI());
}
RDFDatatype typeR = TypeMapper.getInstance().getSafeTypeByName( typeURI );
return NodeFactory.createLiteral(value.toString(), typeR);
}
示例15: fromDateTime
import org.apache.jena.datatypes.TypeMapper; //导入依赖的package包/类
protected static Value fromDateTime(DateTime time, String typeURI, boolean withTZ) {
String formatted;
if (typeURI.equals(XSD.dateTime.getURI())) {
if (time.getMillisOfSecond() == 0) {
formatted = (withTZ ? DATETIME_TZ_FMT : DATETIME_FMT).print(time);
} else {
formatted = (withTZ ? DATETIME_TZ_FMT_MS : DATETIME_FMT_MS).print(time);
}
} else if (typeURI.equals(XSD.date.getURI())) {
formatted = (withTZ ? DATE_TZ_FMT : DATE_FMT).print(time);
} else if (typeURI.equals(XSD.time.getURI())) {
if (time.getMillisOfSecond() == 0) {
formatted = (withTZ ? TIME_TZ_FMT : TIME_FMT).print(time);
} else {
formatted = (withTZ ? TIME_TZ_FMT_MS : TIME_FMT_MS).print(time);
}
} else if (typeURI.equals(XSD.gYearMonth.getURI())) {
formatted = GYEARMONTH_FMT.print(time);
} else if (typeURI.equals(XSD.gYear.getURI())) {
formatted = GYEAR_FMT.print(time);
} else {
throw new EpiException("Unrecognized datetime type");
}
if (formatted.endsWith("UTC")) {
formatted = formatted.replace("UTC", "Z");
}
Node n = NodeFactory.createLiteral(formatted, TypeMapper.getInstance().getSafeTypeByName(typeURI));
return new ValueDate(n);
}