Co ciekawe użycie "obiektu", jak wyżej, nie przyniosło mi w ogóle wyników (używając MarkLogic 7.0-4.1 na MacOS). Zamiast tego musiałem użyć:
cts:triples((),(),(
sem:unknown("Object", sem:iri("http://www.w3.org/2001/XMLSchemastring")),
rdf:langString("Object", "en")
))
Oto niektóre już kawałek kodu, który można uruchomić w QConsole (uruchomić go na pustej bazy danych!), Aby lepiej zrozumieć, co się dzieje:
xquery version "1.0-ml";
import module namespace sem = "http://marklogic.com/semantics"
at "/MarkLogic/semantics.xqy";
sem:rdf-insert(sem:rdf-parse('
@prefix xs: <http://www.w3.org/2001/XMLSchema> .
<http://subject1> <http://www.w3.org/2004/02/skos/core#prefLabel> "Object"^^xs:string .
<http://subject2> <http://www.w3.org/2004/02/skos/core#prefLabel> "Object"@en .
', "turtle"))
;
'all triples:',
cts:triples((),(),()),
'all objects:',
for $triple in cts:triples((),(),())
return xdmp:describe(sem:triple-object($triple)),
'all object languages:',
for $triple in cts:triples((),(),())
return concat('"', sem:lang(sem:triple-object($triple)), '"'),
'results with "Object":',
cts:triples((),(),sem:iri("Object")),
'results with sem:unknown("Object", sem:iri("xs:string")):',
cts:triples((),(),sem:unknown("Object", sem:iri("xs:string"))),
'results with sem:unknown("Object", sem:iri("http://www.w3.org/2001/XMLSchemastring")):',
cts:triples((),(),sem:unknown("Object", sem:iri("http://www.w3.org/2001/XMLSchemastring"))),
'results with rdf:langString("Object", "en")',
cts:triples((),(),rdf:langString("Object", "en")),
'combined results:',
cts:triples((),(),(
sem:unknown("Object", sem:iri("http://www.w3.org/2001/XMLSchemastring")),
rdf:langString("Object", "en")
))
HTH !