
sem:rdf-parse( $in as item(), [$options as xs:string*] ) as sem:triple*
This function returns parsed sem:triple objects
from a text format or XML.
xquery version "1.0-ml";
import module namespace sem = "http://marklogic.com/semantics"
at "/MarkLogic/semantics.xqy";
declare namespace rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
declare namespace dc = "http://purl.org/dc/elements/1.1/";
declare namespace v="http://www.w3.org/2006/vcard/";
sem:rdf-parse(
<rdf:Description rdf:about="urn:isbn:006251587X">
<dc:title>Weaving the Web</dc:title>
<dc:creator rdf:resource="http://www.w3.org/People/Berners-Lee/card#i"/>
</rdf:Description>,
"rdfxml")
=>
sem:triple(
sem:iri("urn:isbn:006251587X"),
sem:iri("http://purl.org/dc/elements/1.1/title"),
"Weaving the Web")
sem:triple(
sem:iri("urn:isbn:006251587X"),
sem:iri("http://purl.org/dc/elements/1.1/creator"),
sem:iri("http://www.w3.org/People/Berners-Lee/card#i"))
xquery version "1.0-ml";
import module namespace sem = "http://marklogic.com/semantics"
at "/MarkLogic/semantics.xqy";
let $turtle-document := '
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ex: <http://example.org/people/1.0/> .
<http://www.w3.org/TR/rdf-syntax-grammar>
dc:title "RDF/XML Syntax Specification (Revised)" ;
ex:editor [
ex:fullname "Dave Beckett";
ex:homePage <http://purl.org/net/dajobe/>
] .'
return sem:rdf-parse($turtle-document, ("turtle", "repair") )
=>
sem:triple(
sem:iri("http://www.w3.org/TR/rdf-syntax-grammar"),
sem:iri("http://purl.org/dc/elements/1.1/title"),
"RDF/XML Syntax Specification (Revised)")
sem:triple(
sem:iri("http://www.w3.org/TR/rdf-syntax-grammar"),
sem:iri("http://example.org/people/1.0/editor"),
sem:blank("http://marklogic.com/semantics/blank/15118066541381804840"))
sem:triple(
sem:blank("http://marklogic.com/semantics/blank/15118066541381804840"),
sem:iri("http://example.org/people/1.0/fullname"),
"Dave Beckett")
sem:triple(
sem:blank("http://marklogic.com/semantics/blank/15118066541381804840"),
sem:iri("http://example.org/people/1.0/homePage"),
sem:iri("http://purl.org/net/dajobe/"))