2014-12-17 9 views
5

저는 까다로운 상황에 있으며 MarkLogic 설명서에서 해당 정보를 찾을 수없는 것 같습니다. 그때 나는 만 cts:triples((), sem:iri("http://www.w3.org/2004/02/skos/core#prefLabel"), "Object") 을 수행 할 때 그래서MarkLogic 트리플 객체 언어

<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 . 

: 제가하는 데 문제는 내가 다른 소스에서 트리플을 사용하고 그들이 문자열 개체 (일부는 다국어를) 설명하는 다른 방법을 사용하는 것입니다 첫번째 트리플을 잡아라.

질문은 언어를 무시하고 두 개의 트리플 (가능한 경우 sparql을 사용하지 않고)을 반환하도록하려면 어떻게해야합니까?

답변

5

흥미롭게도 "Object"를 사용하면 MacOS에서 MarkLogic 7.0-4.1을 사용하여 결과를 전혀 반환하지 않았습니다. 여기

cts:triples((),(),(
    sem:unknown("Object", sem:iri("http://www.w3.org/2001/XMLSchemastring")), 
    rdf:langString("Object", "en") 
)) 

당신이 더 무엇을 이해하는 QConsole (빈 데이터베이스에 대해 실행!)에서 실행할 수있는 코드의 일부 이상 조각에 것입니다 : 대신 내가 사용했다

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 !