protected void printStringFrom(ISparqlPrinter context) { IEnumerable <INode> froms = getFrom(); if (froms.Count() == 0) { froms = context.Dataset.DefaultGraphs; } foreach (IResource from in froms) { context.println(); context.printKeyword("FROM"); context.printURIResource(from); } froms = getFromNamed(); if (froms.Count() == 0) { froms = context.Dataset.DefaultGraphs; } foreach (IResource fromNamed in froms) { context.println(); context.printKeyword("FROM NAMED"); context.printURIResource(fromNamed); } }
override public void printSPINRDF(ISparqlPrinter p) { p.printKeyword("DELETE"); p.print(" "); p.printKeyword("DATA"); printTemplates(p, SP.PropertyData, null, true, null); }
protected void printGraphIRIs(ISparqlPrinter p, String keyword) { List <String> graphIRIs = new List <String>(); { IEnumerator <Triple> it = listProperties(SP.PropertyGraphIRI).GetEnumerator(); while (it.MoveNext()) { Triple s = it.Current; if (s.Object is IUriNode) { graphIRIs.Add(((IUriNode)s.Object).Uri.ToString()); } } graphIRIs.Sort(); } foreach (String graphIRI in graphIRIs) { p.print(" "); if (keyword != null) { p.printKeyword(keyword); p.print(" "); } p.printURIResource(Resource.Get(RDFUtil.CreateUriNode(UriFactory.Create(graphIRI)), getModel())); } }
override public void Print(ISparqlPrinter p) { p.printKeyword("GRAPH"); p.print(" "); printVarOrResource(p, getNameNode()); printNestedElementList(p); }
override public void printSPINRDF(ISparqlPrinter p) { p.printKeyword("CLEAR"); p.print(" "); printSilent(p); printGraphDefaultNamedOrAll(p); }
override public void Print(ISparqlPrinter context) { context.printKeyword("BIND"); context.print(" ("); IResource expression = getExpression(); if (expression != null) { printNestedExpressionString(context, expression); } else { context.print("<Exception: Missing expression>"); } context.print(" "); context.printKeyword("AS"); context.print(" "); IVariable variable = getVariable(); if (variable != null) { context.print(variable.ToString()); } else { context.print("<Exception: Missing variable>"); } context.print(")"); }
public override void printSPINRDF(ISparqlPrinter p) { printComment(p); printPrefixes(p); IResource iri = getResource(SP.PropertyGraphIRI); IResource with = getResource(SP.PropertyWith); if (with != null) { p.printIndentation(p.getIndentation()); p.printKeyword("WITH"); p.print(" "); p.printURIResource(with); p.println(); } // TODO add a INSERT/CONSTRUCT pattern before the delete is effective if (printTemplates(p, SP.PropertyDeletePattern, "DELETE", hasProperty(SP.PropertyDeletePattern), iri)) { p.print("\n"); } if (printTemplates(p, SP.PropertyInsertPattern, "INSERT", hasProperty(SP.PropertyInsertPattern), iri)) { p.print("\n"); } IEnumerable <INode> usings = getUsing(); if (usings.Count() == 0) { usings = p.Dataset.DefaultGraphs; } foreach (IResource _using in usings) { p.printKeyword("USING"); p.print(" "); p.printURIResource(_using); p.println(); } usings = getUsingNamed(); if (usings.Count() == 0) { usings = p.Dataset.ActiveGraphs; } foreach (IResource usingNamed in usings) { p.printKeyword("USING"); p.print(" "); p.printKeyword("NAMED"); p.print(" "); p.printURIResource(usingNamed); p.println(); } p.CurrentSparqlContext = SparqlContext.QueryContext; printWhere(p); }
protected void printSilent(ISparqlPrinter p) { if (isSilent()) { p.printKeyword("SILENT"); p.print(" "); } }
override public void Print(ISparqlPrinter p) { print(getSubject(), p); p.print(" "); print(getPredicate(), p, true); p.print(" "); print(getObject(), p); }
override public void printSPINRDF(ISparqlPrinter p) { p.printKeyword("CREATE"); p.print(" "); printSilent(p); p.printKeyword("GRAPH"); p.print(" "); p.printURIResource(getResource(SP.PropertyGraphIRI)); }
override public void Print(ISparqlPrinter p) { IVariable asVar = getAs(); if (asVar != null) { p.print("("); } INode aggType = this.getObject(RDF.PropertyType); String aggName = Aggregations.getName(aggType); p.printKeyword(aggName); p.print("("); if (isDistinct()) { p.print("DISTINCT "); } Triple exprS = this.getProperty(SP.PropertyExpression); if (exprS != null && !(exprS.Object is ILiteralNode)) { IResource r = Resource.Get(exprS.Object, getModel()); IResource expr = SPINFactory.asExpression(r); if (expr is IPrintable) { ((IPrintable)expr).Print(p); } else { p.printURIResource(r); } } else { p.print("*"); } String separator = getString(SP.PropertySeparator); if (separator != null) { p.print("; "); p.printKeyword("SEPARATOR"); p.print("=''"); //"='" + DatasetUtil.escapeString(separator) + "'"); } if (asVar != null) { p.print(") "); p.printKeyword("AS"); p.print(" "); p.print(asVar.ToString()); } p.print(")"); }
protected void printSolutionModifiers(ISparqlPrinter context) { List <IResource> orderBy = getList(SP.PropertyOrderBy); if (orderBy.Count > 0) { context.println(); context.printIndentation(context.getIndentation()); context.printKeyword("ORDER BY"); foreach (IResource node in orderBy) { if (!node.isLiteral()) { if (node.hasProperty(RDF.PropertyType, SP.ClassAsc)) { context.print(" "); context.printKeyword("ASC"); context.print(" "); IResource expression = node.getResource(SP.PropertyExpression); printOrderByExpression(context, expression); } else if (node.hasProperty(RDF.PropertyType, SP.ClassDesc)) { context.print(" "); context.printKeyword("DESC"); context.print(" "); IResource expression = node.getResource(SP.PropertyExpression); printOrderByExpression(context, expression); } else { context.print(" "); printOrderByExpression(context, node); } } } } long?limit = getLimit(); if (limit != null) { context.println(); context.printIndentation(context.getIndentation()); context.printKeyword("LIMIT"); context.print(" " + limit); } long?offset = getOffset(); if (offset != null) { context.println(); context.printIndentation(context.getIndentation()); context.print("OFFSET"); context.print(" " + offset); } }
override public void printSPINRDF(ISparqlPrinter p) { printComment(p); printPrefixes(p); p.printIndentation(p.getIndentation()); p.printKeyword("DELETE"); p.print(" "); p.printKeyword("WHERE"); printNestedElementList(p, SP.PropertyWhere); }
private void printRDFList(ISparqlPrinter p, List <IResource> members) { p.print("("); foreach (IResource node in members) { p.print(" "); TupleImpl.print(getModel(), node, p); } p.print(" )"); }
public override void printSPINRDF(ISparqlPrinter p) { printComment(p); printPrefixes(p); p.printIndentation(p.getIndentation()); p.printKeyword("DELETE"); printGraphIRIs(p, "FROM"); printTemplates(p, SP.PropertyDeletePattern, null, true, null); printWhere(p); }
protected void printValues(ISparqlPrinter p) { IValues values = getValues(); if (values != null) { p.println(); values.Print(p); } }
override public void printSPINRDF(ISparqlPrinter p) { printComment(p); printPrefixes(p); p.printIndentation(p.getIndentation()); p.printKeyword("INSERT"); printGraphIRIs(p, "INTO"); printTemplates(p, SP.PropertyInsertPattern, null, true, null); printWhere(p); }
// Special treatment of nested rdf:Lists private int printTriplePattern(List <IElement> elements, int i, ISparqlPrinter p) { ITriplePattern main = (ITriplePattern)elements[i]; // Print subject List <IResource> leftList = new List <IResource>(); i = addListMembers(elements, i, leftList); if (leftList.Count == 0) { TupleImpl.print(getModel(), main.getSubject(), p); } else { printRDFList(p, leftList); main = (ITriplePattern)elements[i]; } p.print(" "); // Print predicate if (RDFUtil.sameTerm(RDF.PropertyType, main.getPredicate())) { p.print("a"); } else { TupleImpl.print(getModel(), main.getPredicate(), p); } p.print(" "); // Print object if (nextIsMatchingVarPattern(main, elements, i)) { List <IResource> rightList = new List <IResource>(); i = addListMembers(elements, i + 1, rightList); if (rightList.Count == 0) { TupleImpl.print(getModel(), main.getObject(), p); if (leftList.Count != 0) { i--; } } else { printRDFList(p, rightList); i--; } } else { TupleImpl.print(getModel(), main.getObject(), p); } return(i); }
private void printProjectExpression(ISparqlPrinter p, IVariable var) { p.print("(("); IResource expr = var.getResource(SP.PropertyExpression); IPrintable expression = (IPrintable)SPINFactory.asExpression(expr); expression.Print(p); p.print(") "); p.printKeyword("AS"); p.print(" "); p.print(var.ToString()); p.print(")"); }
override public void Print(ISparqlPrinter p) { String text = getString(SP.PropertyText); if (text != null) { p.print(text); } else { printSPINRDF(p); } }
private void printFunctionQName(ISparqlPrinter p, IResource function) { String symbol = getSymbol(function); if (symbol != null) { p.print(symbol); } else { //TODO ?????????? p.printURIResource(function); } }
override public void Print(ISparqlPrinter p) { String name = getName(); if (name.StartsWith("?")) { p.print("_:"); p.print(name.Substring(1)); } else { p.printVariable(name); } }
override public void Print(ISparqlPrinter context) { context.printKeyword("FILTER"); context.print(" "); IResource expression = getExpression(); if (expression == null) { context.print("<Exception: Missing expression>"); } else { printNestedExpressionString(context, expression, true); } }
protected void printComment(ISparqlPrinter context) { String str = getComment(); if (str != null) { String[] rows = str.Split('\n'); for (int i = 0; i < rows.Length; i++) { context.print("# "); context.print(rows[i]); context.println(); } } }
private void printPath(IResource path, ISparqlPrinter p) { ISparqlPath arqPath = createPath(path); if (p.getUsePrefixes()) { //TODO INamespaceMapper prefixMapping = path.getModel().getPrefixMapping(); String str = arqPath.ToString(); //PathWriter.asString(arqPath, null/*TODO new Prologue(prefixMapping)*/); p.print(str); } else { String str = arqPath.ToString();//PathWriter.asString(arqPath); p.print(str); } }
override public void printSPINRDF(ISparqlPrinter context) { printComment(context); printPrefixes(context); context.printIndentation(context.getIndentation()); context.printKeyword("ASK"); printStringFrom(context); context.print(" "); if (context.getIndentation() > 0) { // Avoid unnecessary whitespace after ASK -> put on extra row context.println(); } printWhere(context); printValues(context); }
protected void printNestedElementList(ISparqlPrinter p, INode predicate) { p.print(" {"); p.println(); IResource elementsRaw = getObject(predicate); if (elementsRaw != null) { IElementList elements = (IElementList)elementsRaw.As(typeof(ElementListImpl)); p.setIndentation(p.getIndentation() + 1); elements.Print(p); p.setIndentation(p.getIndentation() - 1); } p.printIndentation(p.getIndentation()); p.print("}"); }
private void printHaving(ISparqlPrinter p) { List <IResource> havings = getList(SP.PropertyHaving); if (havings.Count > 0) { IEnumerator <IResource> it = havings.GetEnumerator(); p.println(); p.printIndentation(p.getIndentation()); p.printKeyword("HAVING"); while (it.MoveNext()) { p.print(" "); printNestedExpressionString(p, it.Current); } } }
void printFunction(ISparqlPrinter p, IResource function, List <IResource> args) { printFunctionQName(p, function); p.print("("); IEnumerator <IResource> it = args.GetEnumerator(); while (it.MoveNext()) { IResource param = it.Current; printNestedExpressionString(p, param); if (it.MoveNext()) { p.print(", "); } } p.print(")"); }
private void printGroupBy(ISparqlPrinter p) { List <IResource> groupBy = getList(SP.PropertyGroupBy); if (groupBy.Count > 0) { IEnumerator <IResource> it = groupBy.GetEnumerator(); p.println(); p.printIndentation(p.getIndentation()); p.printKeyword("GROUP BY"); while (it.MoveNext()) { p.print(" "); IResource node = it.Current; printNestedExpressionString(p, node); } } }