h$/S)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None !>$dhsparqlEnables programmatic construction of triples where it is not known in advance which parts of the triple will be variables and which will be Nodes.hsparql&Convert most query-related types to a , most importantly s.hsparql.Restriction of TermLike to the role of object.hsparql1Restriction of TermLike to the role of predicate.hsparql/Restriction of TermLike to the role of subject.hsparqlPermit variables and values to seemlessly be put into argument for ) and similar functions hsparqlThe  monad applied to .!hsparql/Execute a 'Select Query' action, returning the  representation of the query."hsparql2Execute a 'Construct Query' action, returning the  representation of the query.#hsparql,Execute a 'Ask Query' action, returning the  representation of the query.$hsparql/Execute a 'Update Query' action, returning the  representation of the query.%hsparql1Execute a 'Describe Query' action, returning the  representation of the query.&hsparqlAdd a prefix to the query, given an IRI reference, and return it.'hsparqlCreate and return a variable to the query, usable in later expressions.(hsparqlCreate an embedded triple usable in an expression. See SPARQL* at  https://wiki.blazegraph.com/wiki/index.php/Reification_Done_Right or  https://arxiv.org/abs/1406.3399.)hsparqlRestrict the query to only results for which values match constants in this triple, or for which the variables can be bound.5hsparqlAdd optional constraints on matches. Variable bindings within the optional action are lost, so variables must always be defined prior to opening the optional block.7hsparqlInstruct a federated query processor to invoke the portion of a SPARQL query against a remote SPARQL endpoint. For example createQuery $ do foaf <- prefix "foaf" (iriRef "http://xmlns.com/foaf/0.1/") person <- var name <- var triple_ (iriRef "http://example.org/myfoaf/I") (foaf .:. "knows") person _ <- service (iriRef "http://people.example.org/sparql") $ do triple_ person (foaf .:. "name") name selectVars [name]produces the SPARQL query: PREFIX foaf: SELECT ?x1 WHERE { foaf:knows ?x0 . SERVICE { ?x0 foaf:name ?x1 . } }8hsparqlSame as 7+, but without returning the query patterns.9hsparql4Add a union structure to the query pattern. As with 5 blocks, variables must be defined prior to the opening of any block.?hsparqlRestrict results to only those for which the given expression is true.Ahsparql/Bind the result of an expression to a variable.ChsparqlPerform a subquery.EhsparqlForm a Node , with the  and reference name.FhsparqlSet duplicate handling to &. By default, there are no reductions.HhsparqlSet duplicate handling to &. By default, there are no reductions.JhsparqlSet limit handling to the given value. By default, there are no limits. Note: negative numbers cause no query results to be returned.Lhsparql,Divide the solution into one or more groups.Nhsparql Alias of O.OhsparqlOrder the results, after any previous ordering, based on the term, in ascending order.PhsparqlOrder the results, after any previous ordering, based on the term, in descending order.QhsparqlAdd two terms.Rhsparql&Find the difference between two terms.ShsparqlMultiply two terms.ThsparqlDivide two terms.Uhsparql"Combine two boolean terms with ANDVhsparql!Combine two boolean terms with ORWhsparqlCreate an expression which tests the relationship of the two operands, evaluating their equivalence.XhsparqlCreate an expression which tests the relationship of the two operands, evaluating their equivalence.YhsparqlCreate an expression which tests the relationship of the two operands, evaluating their relative value.ZhsparqlCreate an expression which tests the relationship of the two operands, evaluating their relative value.[hsparqlCreate an expression which tests the relationship of the two operands, evaluating their relative value.\hsparqlCreate an expression which tests the relationship of the two operands, evaluating their relative value.]hsparql=Negate any term-like expression, for use, e.g., in filtering.^hsparqlAggregate by count_hsparqlAggregate by sum`hsparqlAggregate by minimum valueahsparqlAggregate by maximum valuebhsparqlAggregate by averagechsparqlCast as a stringdhsparql Get the language of this elementehsparql.strlen ( string ) - get the length of a stringfhsparql>substr ( string beginPosition stringLength ) - get a substringghsparql(ucase ( string ) - convert to upper casehhsparql(lcase ( string ) - convert to lower caseihsparqlstrstarts ( string x ) - return true if x matches the beginning of stringjhsparqlstrends ( string x ) - return true if x matches the end of stringkhsparqlcontains ( string x ) - return true if x matches anywhere in stringlhsparqlstrbefore ( string x ) - return the string preceding a match to xmhsparql SELECT ?x0 ?x1 WHERE {?x0 :p1 [:p2 [:p3 ?x1]], [:p4 ?x2] .} "hsparql"Creating a property path sequence.IRIRef "rdf:type" ./. IRIRef "rdfs:subClassOf" ./. IRIRef "rdfs:subClassOf"(rdf:type/rdfs:subClassOf/rdfs:subClassOfhsparql&Creating an alternative property path.IRIRef "rdfs:label" .|. IRIRef "foaf:name" .|. IRIRef "foaf:givenName#rdfs:label|foaf:name|foaf:givenNamehsparqlCreating an alternative property path inside a negative property set.neg $ IRIRef "rdfs:label" ..|.. IRIRef "foaf:name" ..|.. IRIRef "foaf:givenName"&!(rdfs:label|foaf:name|foaf:givenName)hsparql"Creating an inverse property path.inv (IRIRef "foaf:mbox") ^foaf:mboxhsparqlCreating an inverse path of length one inside a negative property set.neg $ IRIRef "rdfs:label" ..|.. IRIRef "foaf:name" ..|.. (inv' $ IRIRef "foaf:givenName")'!(rdfs:label|foaf:name|^foaf:givenName)hsparql!Creating a negative property set. inv foafMbox ^foaf:mboxhsparqlVariable "a" representing the rdf:type property.hsparqlCreating a zero or more path.5IRIRef "rdf:type" ./. ((IRIRef "rdfs:subClassOf") *.)rdf:type/rdfs:subClassOf*hsparqlCreating a one or more path.1((IRIRef "foaf:knows") +.) ./. IRIRef "foaf:name"foaf:knows+/foaf:namehsparqlCreating a zero or one path.rdfType ./. (rdfsSubClassOf ?.)rdf:type/rdfs:subClassOf?7hsparqlSPARQL endpointhsparql7SPARQL query to invoke against a remote SPARQL endpoint  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&'()*+,-./01256789:?@;<=>ABCD43FGHIJKLMNOPEQRSTUVWXYZ[\]^_`abucdvwxyz{|}~efghijklmpqrsnot   Q6R6S7T7U3V2W4X4Y4Z4[4\4544None )j hsparql.Local representations of incoming XML results.hsparqlRDF Node (UNode, BNode, LNode)hsparqlUnbound result valuehsparqlURI of the SPARQL endpoint.hsparqlConnect to remote * and find all possible bindings for the  s in the 'SelectQueryRaw action.hsparqlConnect to remote + and find all possible bindings for the  s in the 'SelectQueryRaw action.hsparqlConnect to remote + and find all possible bindings for the  s in the 'SelectQueryRaw action.hsparqlConnect to remote  and construct  TriplesGraph* from given 'ConstructQueryRaw action. Provisional implementation.hsparqlConnect to remote  and construct  TriplesGraph* from given 'ConstructQueryRaw action. Provisional implementation.        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$hsparql-0.3.7-4KKY3AZdAF5HVGo4GTF4TmDatabase.HSparql.QueryGeneratorDatabase.HSparql.Connection DescribeQuery queryDescribe SelectQuery queryExpr UpdateQuery queryUpdateAskQueryqueryAskConstructQueryqueryConstructsPattern SelectExpr SelectVar VarOrNodeVar'RDFNodeBlankNodePatternVariablePrefixqshowObjectTermLikePredicateTermLikeSubjectTermLikeTermLike varOrTermexprQuerycreateSelectQuerycreateConstructQuerycreateAskQuerycreateUpdateQuerycreateDescribeQueryprefixvarembeddedTripletripletriple_constructTripleconstructTriple_ askTriple askTriple_ updateTriple updateTriple_ describeIRI describeIRI_ selectVarsselectoptional optional_serviceservice_unionunion_ filterExists filterExists_filterNotExistsfilterNotExists_ filterExpr filterExpr_bindbind_subQuery subQuery_.:.distinct distinct_reducedreduced_limitlimit_groupBygroupBy_ orderNext orderNextAsc orderNextDesc.+..-..*../..&&..||..==..!=..<..>..<=..>=.notExprcountsum_min_max_avgstrlangstrlensubstrucaselcase strstartsstrendscontains strbeforestrafterconcat_replaceabs_round_ceilfloor_rand groupConcat langMatchesdatatypeboundsameTermisIRIisURIisBlank isLiteralregex regexOptsmkPredicateObjectiriRefas.//..|...|..invinv'nega*.+.?.$fQueryShowLValue$fQueryShowNode$fQueryShowDuplicates$fQueryShowLimit $fQueryShow[]$fQueryShowPrefix$fQueryShow[]0$fQueryShowVariable$fQueryShowMaybe$fQueryShowIRIRef$fQueryShowOperation$fQueryShowRelation$fQueryShowFunction $fQueryShowParameterizedFunction$fQueryShowPathLengthOne$fSemigroupNegativePropertySet$fQueryShowNegativePropertySet$fQueryShowPropertyPathExpr#$fPropertyPathExprLikePathLengthOne$fPropertyPathExprLikeIRIRef&$fPropertyPathExprLikePropertyPathExpr$fQueryShowGraphTerm$fQueryShowExpr$fQueryShowNumericExpr$fQueryShow[]1$fQueryShowVarOrTerm$fQueryShow(,)$fQueryShow[]2$fShowDynamicObject$fShowDynamicPredicate$fObjectTermLikeNode$fObjectTermLikeVarOrNode$fObjectTermLikeBool$fObjectTermLike(,)$fObjectTermLike(,)0$fObjectTermLikeText$fObjectTermLikeInteger$fObjectTermLikeExpr$fObjectTermLike[]$fObjectTermLikeVariable$fObjectTermLikeIRIRef#$fPredicateTermLikePropertyPathExpr$fPredicateTermLikeVariable$fPredicateTermLikeIRIRef$fTermLikeVarOrNode$fTermLikeNode$fTermLikeBool $fTermLike(,)$fTermLike(,)0$fTermLikeText$fTermLikeInteger$fTermLikeExpr $fTermLike[]$fTermLikePropertyPathExpr$fTermLikeIRIRef$fTermLikeVariable$fQueryShow[]3$fQueryShowOrderBy$fQueryShow[]4$fQueryShowGroupBy$fQueryShow[]5$fQueryShowSelectExpr$fQueryShowQueryData$fQueryShowGroupGraphPattern$fQueryShow[]6$fQueryShowPattern$fObjectTermLikeEmbeddedTriple$fTermLikeEmbeddedTriple$fSubjectTermLike[]$fSubjectTermLikeEmbeddedTriple$fSubjectTermLikeVariable$fSubjectTermLikeIRIRef,$fNegativePropertySetLikeNegativePropertySet$fNegativePropertySetLikeIRIRef&$fNegativePropertySetLikePathLengthOne$fShowEmbeddedTriple$fShowQueryData$fShowGroupGraphPattern $fShowPattern$fShowSelectExpr $fShowGroupBy $fShowOrderBy$fShowVarOrTerm $fShowExpr$fShowNumericExpr$fShowGraphTerm$fShowPropertyPathExpr$fShowNegativePropertySet$fShowPathLengthOne$fShowQueryType$fShowParameterizedFunction$fShowFunction$fShowRelation$fShowOperation$fShowVarOrNode $fShowIRIRef$fShowVariable $fShowPrefix $fEqPrefix $fShowLimit$fShowDuplicates BindingValueBoundUnboundEndPoint selectQueryaskQuery updateQueryconstructQuery describeQueryselectQueryRaw askQueryRawupdateQueryRawconstructQueryRawdescribeQueryRaw$fShowBindingValue$fEqBindingValuebaseGHC.BaseString QueryDatatransformers-0.5.6.2Control.Monad.Trans.State.LazyStateDistinctReduced