Thanks Mike!

-mehul.

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Michael Blakeley
Sent: Thursday, May 26, 2011 11:34 PM
To: General MarkLogic Developer Discussion
Subject: Re: [MarkLogic Dev General] Semantic data and xquery help

Mehul, I believe the problem is that you are setting a filter that doesn't 
match anything. Instead, use an empty sequence filter. That is, use () not ''.

Here is how I would set this up:

(: insert :)
import module namespace sem="http://marklogic.com/semantic";
 at "semantic.xqy";

let $ifo := 'is-friend-of'
return (
  sem:tuple-insert('a', $ifo, 'b', ()),
  sem:tuple-insert('b', $ifo, 'c', ()),
  sem:tuple-insert('c', $ifo, 'd', ()),
  sem:tuple-insert('c', $ifo, 'e', ())
)
=> ()

(: foaf :)
import module namespace sem="http://marklogic.com/semantic";
 at "semantic.xqy";

xdmp:set($sem:DEBUG, true()),
let $ifo := 'is-friend-of'
let $m := map:map()
let $do := sem:transitive-closure($m, 'b', 6, $ifo, true(), ())
return $m
=>
<map:map xmlns:map="http://marklogic.com/xdmp/map"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
  <map:entry key="e">
    <map:value xsi:type="xs:integer">4</map:value>
  </map:entry>
  <map:entry key="c">
    <map:value xsi:type="xs:integer">5</map:value>
  </map:entry>
  <map:entry key="d">
    <map:value xsi:type="xs:integer">4</map:value>
  </map:entry>
  <map:entry key="b">
    <map:value xsi:type="xs:integer">6</map:value>
  </map:entry>
</map:map>

-- Mike

On 26 May 2011, at 10:04 , Shah, Mehul (LNG-NPV) wrote:

> I am trying semantic example from 
> http://marklogic.github.com/semantic/#DOCUMENT_FORMAT  and  
> http://marklogic.github.com/semantic/function-reference.html 
> 
> Does anyone have good sample data for this with N-triplets; and example 
> semantic queries (using sem: functions) working on that.
> 
> 
> I manually created triplets like this.
> <A> <is friend of> <B>
> <B> <is friend of> <C>
> <C> <is friend of> <D>
> <C> <is friend of> <E>
> 
> I tried to use following Xquery function:
> xquery version "1.0-ml";
> 
> import module namespace sem="http://marklogic.com/semantic";
> at "semantic.xqy";
> 
> let $m := map:map()
> sem:transitive-closure(  $m, 'A', 3,  'is friend of',  true(), "")
> return $m
> 
> Output (it simply reflects my input starting node and generations):
> map:map(
> <map:map xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xmlns:map="http://marklogic.com/xdmp/map";>
> <map:entry key="A">
> <map:value xsi:type="xs:integer">5</map:value>
> </map:entry>
> </map:map>)
> 
> 
> 
> I would like to get few working examples for FOAF(friend of friend) and some 
> joins.
> 
> 
> Thanks,
> Mehul.
> 
> 
> 
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
> 

_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to