use of org.apache.jena.sparql.sse.Item in project jena by apache.
the class BuilderOp method buildBGP.
private static BasicPattern buildBGP(ItemList list) {
// Skips the tag.
BasicPattern triples = new BasicPattern();
for (int i = 1; i < list.size(); i++) {
Item item = list.get(i);
if (!item.isList())
BuilderLib.broken(item, "Not a triple structure");
Triple t = BuilderGraph.buildTriple(item.getList());
triples.add(t);
}
return triples;
}
use of org.apache.jena.sparql.sse.Item in project jena by apache.
the class BuilderPrefixMapping method build.
public static void build(PrefixMapping newMappings, Item elt) {
if (!elt.isList())
BuilderLib.broken(elt, "Prefix mapping requires a list of pairs", elt);
ItemList prefixes = elt.getList();
// Strip (prefixmapping ...)
if (elt.isTaggedIgnoreCase(Tags.tagPrefixMap) || elt.isTaggedIgnoreCase(Tags.tagPrefixMapping)) {
BuilderLib.checkLength(2, elt.getList(), "Not of length 2" + elt.shortString());
// drop the tag
prefixes = prefixes.cdr();
}
for (Item pair : prefixes) {
if (!pair.isList() || pair.getList().size() != 2)
BuilderLib.broken(pair, "Not a prefix/IRI pair");
Item prefixItem = pair.getList().get(0);
Item iriItem = pair.getList().get(1);
// Maybe a Node (fake prefixed name) or a Symbol, depending on parser set up.
String prefix = null;
// -- Prefix as symbol
if (prefixItem.isSymbol())
prefix = prefixItem.getSymbol();
if (prefix == null)
BuilderLib.broken(pair, "Prefix part not recognized: " + prefixItem);
if (!prefix.endsWith(":"))
BuilderLib.broken(pair, "Prefix part does not end with a ':': " + pair);
prefix = prefix.substring(0, prefix.length() - 1);
if (StrUtils.contains(prefix, ":"))
BuilderLib.broken(pair, "Prefix itself contains a ':' : " + pair);
// -- /Prefix
Node iriNode = iriItem.getNode();
if (iriNode == null || !iriNode.isURI())
BuilderLib.broken(pair, "Not an IRI: " + iriItem);
String iri = iriNode.getURI();
newMappings.setNsPrefix(prefix, iri);
}
}
use of org.apache.jena.sparql.sse.Item in project jena by apache.
the class BuilderNode method buildVars.
public static List<Var> buildVars(ItemList list) {
list = BuilderLib.skipTag(list, Tags.tagVars);
List<Var> x = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Item item = list.get(i);
Var var = BuilderNode.buildVar(item);
x.add(Var.alloc(item.getNode()));
}
return x;
}
use of org.apache.jena.sparql.sse.Item in project jena by apache.
the class BuilderNode method buildVarList.
public static List<Var> buildVarList(ItemList list) {
if (list.size() > 0 && list.getFirst().isSymbol(Tags.tagVars))
list = list.cdr();
List<Var> vars = new ArrayList<>();
for (Item x : list) {
Var v = buildVar(x);
vars.add(v);
}
return vars;
}
use of org.apache.jena.sparql.sse.Item in project jena by apache.
the class BuilderNode method buildNodeList.
public static List<Node> buildNodeList(ItemList list) {
List<Node> nodes = new ArrayList<>();
for (Item item : list) {
Node v = buildNode(item);
nodes.add(v);
}
return nodes;
}
Aggregations