
op:from-sparql( $select as xs:string, [$qualifier as xs:string?], [$options as map:map?] ) as map:map
This function dynamically constructs a row set based on a SPARQL SELECT query from triples.
(: List all of the people born in Brooklyn. :)
xquery version "1.0-ml";
import module namespace op="http://marklogic.com/optic"
at "/MarkLogic/optic.xqy";
op:from-sparql('PREFIX db: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT ?person ?name
WHERE { ?person onto:birthPlace db:Brooklyn;
foaf:name @name .}')
=> op:result((), map:entry("name", "Mae West"))
(: List the firstname of the people with id <http://marklogicsparql.com/id#5555> :)
xquery version "1.0-ml";
import module namespace op="http://marklogic.com/optic"
at "/MarkLogic/optic.xqy";
op:from-sparql(
concat('PREFIX ad: <http://marklogicsparql.com/addressbook#> ',
'SELECT ?firstName ',
'WHERE {<#5555> ad:firstName ?firstName .}'),
"sparql", map:map()=>map:with("dedup", "off")=>map:with("base", "http://marklogicsparql.com/id#"))
=> op:result()
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.