Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xquery MarkLogic三对象语言_Xquery_Marklogic_Triplestore_Triples - Fatal编程技术网

Xquery MarkLogic三对象语言

Xquery MarkLogic三对象语言,xquery,marklogic,triplestore,triples,Xquery,Marklogic,Triplestore,Triples,我的处境很棘手,在MarkLogic文档中似乎找不到任何关于它的信息。 我遇到的问题是,我使用来自不同来源的三元组,它们使用不同的方式描述字符串对象(有些是多语言的): “对象”^^xs:string。 “对象”@en。 所以当我做一个 cts:triples((),sem:iri(“http://www.w3.org/2004/02/skos/core#prefLabel“”,“对象”) 然后我只得到第一个三重 问题是,我如何让它忽略语言并返回两个三元组(如果可能的话,不使用sparql)?

我的处境很棘手,在MarkLogic文档中似乎找不到任何关于它的信息。 我遇到的问题是,我使用来自不同来源的三元组,它们使用不同的方式描述字符串对象(有些是多语言的):

“对象”^^xs:string。
“对象”@en。
所以当我做一个
cts:triples((),sem:iri(“http://www.w3.org/2004/02/skos/core#prefLabel“”,“对象”)
然后我只得到第一个三重


问题是,我如何让它忽略语言并返回两个三元组(如果可能的话,不使用sparql)?

有趣的是,使用上面的“对象”对我来说根本没有返回结果(在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")
))
xquery版本“1.0-ml”;
导入模块命名空间sem=”http://marklogic.com/semantics"
位于“/MarkLogic/semantics.xqy”;
sem:rdf插入(sem:rdf解析)
@前缀xs:。
“对象”^^xs:string。
“对象”@en。
","海龟")
;
'所有三元组:',
cts:triples((),(),()),
“所有对象:”,
对于cts中的$triple:triples((),(),())
返回xdmp:descripe(sem:triple对象($triple)),
'所有对象语言:',
对于cts中的$triple:triples((),(),())
返回concat(“”,sem:lang(sem:triple object($triple)),““”),
'带有“对象”的结果:',
cts:triples((),(),sem:iri(“对象”),
'带有sem:unknown(“Object”,sem:iri(“xs:string”))的结果:',
cts:triples((),(),sem:unknown(“Object”,sem:iri(“xs:string”)),
'扫描电镜结果:未知(“对象”),扫描电镜:iri('http://www.w3.org/2001/XMLSchemastring")):',
cts:triples((),(),sem:unknown(“对象”),sem:iri(“http://www.w3.org/2001/XMLSchemastring"))),
'使用rdf:langString(“对象”、“en”)的结果',
cts:triples((),(),rdf:langString(“Object”,“en”),
“综合结果:”,
cts:triples((),(),)(
扫描电镜:未知(“对象”,扫描电镜:iri(“http://www.w3.org/2001/XMLSchemastring")),
rdf:langString(“对象”、“en”)
))

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")
))