All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.aksw.jena_sparql_api.views.SparqlifyConstants Maven / Gradle / Ivy

There is a newer version: 3.17.0-1
Show newest version
package org.aksw.jena_sparql_api.views;

import org.apache.jena.datatypes.TypeMapper;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.sparql.expr.FunctionLabel;
import org.apache.jena.sparql.expr.NodeValue;

/**
 * Problem:
 *
 * Create V1 { ?s label ?o2 . } ?s = Uri(id); ?o1 = Uri(uri); Select id,
 * concat("abc", u) as uri From tab1;
 *
 * Create V2 { ?s label ?o2 . } ?s = Uri(id); ?o2 = PlainLiteral(name); Select
 * id, name From tab2;
 *
 *
 * Select { ?x label ?y }
 *
 * The problem is, that ?y is mapped to both o1 and o2. However, the layout
 * differs (o1 is a Uri, o2 is a Plain Literal).
 *
 *
 *
 *
 * Resultset formats:
 *
 * a) A separate column for each possible part of an RDF variable. s_type
 * s_value, o_type, o_value, o_lang, o_datatype, ...
 *
 * b) A column indicating the source view (bit-pattern)
 *
 * c) Each variable may be created from multiple columns ?s
 *
 * Select view_1_id, view_5_id ...
 *
 * d)
 *
 *
 * Create View Products { ?s a Product . ?s rdfs:label ?name . ?s x:code ?code .
 * } With ?s = Uri(Concat("http://", ?id)) ?name = ?code = Select id, name, code
 * From product;
 *
 *
 */

public class SparqlifyConstants {
    public static final FunctionLabel vectorLabel = new FunctionLabel("vector");
    public static final String blankNodeLabel = "http://aksw.org/sparqlify/blankNode";
    public static final String uriLabel = "http://aksw.org/sparqlify/uri";
    public static final String rdfTermLabel = "http://aksw.org/sparqlify/rdfTerm";
    public static final String plainLiteralLabel = "http://aksw.org/sparqlify/plainLiteral";
    public static final String typedLiteralLabel = "http://aksw.org/sparqlify/typedLiteral";

    public static final String urlDecode = "http://aksw.org/sparqlify/urlDecode";
    public static final String urlEncode = "http://aksw.org/sparqlify/urlEncode";

    public static final String rightPadLabel = "http://aksw.org/sparqlify/rightPad";


    public static final String numericTypeLabel = "http://aksw.org/sparqlify/numeric";


    public static final NodeValue nvTypeError = NodeValue.makeNode(NodeFactory.createLiteral("type-error", TypeMapper.getInstance().getSafeTypeByName("http://sparqlify.org/vocab/datatypes/TypeError"))); //NodeValue.makeNode(Node.createAnon(new AnonId("node value type error"))) ;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy