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.