Hi Prateek,

Which error do you get?

Cheers,
Geert

From: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Reply-To: MarkLogic Developer Discussion 
<[email protected]<mailto:[email protected]>>
Date: Sunday, July 5, 2015 at 8:05 PM
To: MarkLogic Developer Discussion 
<[email protected]<mailto:[email protected]>>
Subject: Re: [MarkLogic Dev General] How to include inference rules


Thanks Geert,

 I have already created rule for inferencing by:

xquery version "1.0-ml";
xdmp:document-insert(
'/rules/bankAt.rules',
text{
'
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema/>
PREFIX ex: <http://example.com/>
PREFIX gn: <http://www.geonames.org/ontology/>

rule "bankAt" CONSTRUCT {
  ?bank ex:bankAt ?place2
} {
  ?bank ex:bankAt ?place1 .
  ?place1 gn:parentFeature ?place2
}
'
}
)

And this is running w/o error. My issue is I am trying to use it in my query 
like


let $my-store := sem:ruleset-store("/rules/bankAt.rules", sem:store() )
return
 (: use the store you just created - pass it in to sem:sparql() :)
 sem:sparql('
PREFIX ex: <http://example.com/>

SELECT ?bank ?placeName
FROM <http://marklogic.com/semantics/sb/banks/inf-1>
WHERE
 {
 ?bank ex:bankAt ?place .
 ?place gn:name ?placeName
 }
 ORDER BY ?bank
', (), (),
 $my-store
 )


This is giving me error. I am confused on how to use custom rule (syntatically)

Prateek Jain

Cell : +91-9958646136

--------------------------------------------------------------
EXPECTATION : Causes all troubles......
--------------------------------------------------------------

On Sun, Jul 5, 2015 at 11:24 PM, Geert Josten 
<[email protected]<mailto:[email protected]>> wrote:
Hi Prateek,

I see two options:

  1.  Specify ruleset programmatically using a sem:ruleset-store (see 
http://docs.marklogic.com/guide/semantics/inferencing#id_pgfId-920824)
  2.  Use default rulesets, which is a config setting for databases (see 
http://docs.marklogic.com/guide/semantics/inferencing#id_pgfId-919120)

Cheers,
Geert

From: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Reply-To: MarkLogic Developer Discussion 
<[email protected]<mailto:[email protected]>>
Date: Sunday, July 5, 2015 at 7:06 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: [MarkLogic Dev General] How to include inference rules

Hi,

 I am facing issue while using custom inference rules in marklogic 8.0. Here is 
the scenario:

1. create data

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX place: <http://example.com/places/>
PREFIX ex: <http://example.com/>
PREFIX bank: <http://example.com/banks/>

INSERT DATA
{
  GRAPH <http://marklogic.com/semantics/sb/banks/inf-1>
  {
    bank:1001 rdf:type ex:bank ;
              ex:name "rbs" ;
 ex:service "loan" , "asset management" , "fx" ;
 place:name "london" .
    bank:1002 rdf:type ex:bank ;
              ex:name "rbi" ;
 ex:service "loan" , "retail banking" , "guide lines" ;
 place:name "delhi" .
  }
}

#------------- Define some places and their relationships-------------

DROP SILENT GRAPH <http://marklogic.com/semantics/sb/places/inf-1> ;

CREATE GRAPH <http://marklogic.com/semantics/sb/places/inf-1> ;


PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX place: <http://example.com/places/>
PREFIX ex: <http://example.com/>

INSERT DATA
{
  GRAPH <http://marklogic.com/semantics/sb/places/inf-1>
  {
    place:1001 rdf:type ex:country ;
              ex:name "uk" ;
 ex:isin "Europe" .

place:1002 rdf:type ex:city ;
              ex:name "london" ;
 ex:isin "uk" .

  }
}

2. Query w/o inference

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ex: <http://example.com/>
PREFIX bank: <http://example.com/banks/>
PREFIX place: <http://example.com/places/>

SELECT ?b
FROM <http://marklogic.com/semantics/sb/banks/inf-1>
WHERE
  {
    ?b rdf:type ex:bank ;
place:name "london"
  }

3. I know how to use inference via creating ontology data:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ex: <http://example.com/>

INSERT DATA
{
  GRAPH <http://marklogic.com/semantics/sb/banks/inf-1>
  {
    ex:city rdfs:subClassOf ex:country .
  }
}


-------------------------
4. Now, what I am trying to do is; achieve this via creating custom rules file. 
I have created "bankAt.rules" file under schemas database. Here is the code:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema/>
PREFIX ex: <http://example.com/>
PREFIX gn: <http://www.geonames.org/ontology/>

rule "bankAt" CONSTRUCT {
  ?bank ex:bankAt ?place2
} {
  ?bank ex:bankAt ?place1 .
  ?place1 gn:parentFeature ?place2
}

I dont know how to use this rules file in my sparql query. I would be really 
helpful if someone can just list down the steps on "how to use this rule in 
sparql query".

Regards,

Prateek Jain

--------------------------------------------------------------
EXPECTATION : Causes all troubles......
--------------------------------------------------------------

_______________________________________________
General mailing list
[email protected]<mailto:[email protected]>
Manage your subscription at:
http://developer.marklogic.com/mailman/listinfo/general


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

Reply via email to