Hi Rocco,
To put in an inferencing dataset, you'll need to write a configuration
file. The UI can't create complex dataset setups.
Put the service and dataset description in the configuration/ directory
of the Fuseki area.
https://github.com/apache/jena/tree/master/jena-fuseki2/examples
-----------------
# Dataset with only the default graph.
<#dataset> rdf:type ja:RDFDataset ;
ja:defaultGraph <#model_inf> ;
.
# The inference model
<#model_inf> a ja:InfModel ;
ja:baseModel <#baseModel> ;
ja:reasoner [
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
] .
# The base data.
<#baseModel> a ja:MemoryModel ;
ja:content [ja:externalContent <file:Data/data.ttl> ] ;
.
-----------------
Andy
On 17/11/15 20:46, Rocco Lillo wrote:
Il 17/nov/2015 16:29 "Rocco" <[email protected]> ha scritto:
I use apache jena fuseki as server sparqlendpoint interface for execute
query sparql on an ontology OWL that is loaded on server apache jena. The
queries are executed through python languages.
I have need that the results of query must be the consequence of process
the reasoning.
How I do at configure the reasoner with apache jena fuseki?
I use library sparqlwrapper for SPARQL Endpoint interface to Python.
# defines the URI of the endpoint and the query to send
uri = "http://localhost:3030/Hotel/query" <http://localhost:3030/Hotel/query>
query = ("PREFIX : <http://www.semanticweb.org/ontologies/Hotel.owl#>
<http://www.semanticweb.org/ontologies/Hotel.owl#> "
"SELECT ?hotel ?price WHERE {"
" ?hotel a :Hotel. "
" ?hotel :hasPrice ?price }")
# obtain a connection to the endpoint and sends the query
sparql = SPARQLEndpointInterface(uri)
rs,fields = converter(sparql(query))
And this is the define the function sparql:
def __call__(self, statement):
'''
This function sends the query to the SPARQL end-point.
:Parameter:
statement: query in string form to send.
:Returns:
resultset: the result-set list in JSON format.
'''
resultset = []
self._sparql.setQuery(statement)
self._sparql.setReturnFormat(JSON)
print("SPARQLInterface is executing the query...")
try:
t0 = time()
rs = self._sparql.query()
tf = time()
resultset = rs.convert()
print("Query has been executed successfully!\nTime elapsed: {0:.3f}
seconds.".format(tf-t0))
except:
raise Exception("")
self._sparql.resetQuery()
return resultset