Hi I understand that this is a high level discussion that involves changes to the Fuseki interface.
However, my need is very basic: when sending a sparql command that breaks an axiom of my ontology, I would like to receive a simple error indication. Thankful. Helio On Wed, Nov 29, 2017 at 8:13 AM, Andy Seaborne <[email protected]> wrote: > > > On 29/11/17 08:13, Dave Reynolds wrote: > >> With the Jena API there's a separate validate() call on InfModel (and >> thus on OntModel) which will return a list of validation error reports. >> >> I don't think there's any way to invoke that from Fuseki. >> > > Thread drift .... > > Pull request 316 [1] is an addition to Fuseki (service side) to allow > extension services to be added - like an "invoke inference" service or > "validation report" service. > > "/datasets/query" is the query service on /dataset - an extension service > would be "/datasets/validation-report" and it can have an HTTP query string. > > PR#316 is not an implementation of any new services but it means code can > be added and wired into Fuseki for features not in the core system. > > If there are customization features that don't fit into the "add a > service" style, do please give a use case and describe what is required. > > Andy > > [1] https://github.com/apache/jena/pull/316 > > > Whether the builtin rule reasoners would detect your specific issue I'm >> not sure but probably. However, in general if you want complete DL level >> validation you need to use a DL reasoner such as Pellet which is not >> included in Jena. >> >> Dave >> >> >> On 28/11/17 20:08, Hélio Azevedo wrote: >> >>> Hi >>> >>> I have an ontology that was elaborated with the support of the Protégé >>> tool. >>> In this ontology I use a data property, named "objectId". This property >>> was >>> flagged as "Functional". If I insert two "objectId" for the same concept >>> and activate the Pellet reasoner the Protégé tool signals an error. >>> >>> When loading the same ontology in Fuseki environment and inserting two >>> "objectId" for the same concept, Fuseki does not acknowledge an error! >>> The new objectId is inserted with the use of a Sparql endpoint. >>> >>> How should I proceed ? >>> >>> The reasoner activation on Fuseki is done by the configuration below: >>> >>> @prefix : <http://base/#> . >>> @prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> . >>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . >>> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . >>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . >>> @prefix fuseki: <http://jena.apache.org/fuseki#> . >>> >>> >>> @prefix ontsense: <http://example.org/sense#> . >>> @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . >>> @prefix owl: <http://www.w3.org/2002/07/owl#> . >>> >>> >>> >>> :service1 a fuseki:Service ; >>> fuseki:dataset :dataset ; >>> fuseki:name "ontsense" ; >>> fuseki:serviceQuery "query" , "sparql" ; >>> fuseki:serviceReadGraphStore "get" ; >>> fuseki:serviceReadWriteGraphStore >>> "data" ; >>> fuseki:serviceUpdate "update" ; >>> fuseki:serviceUpload "upload" . >>> >>> :dataset a ja:DatasetTxnMem ; >>> ja:defaultGraph <#model_inf_1> ; >>> . >>> >>> <#model_inf_1> rdfs:label "Inf-1" ; >>> ja:reasoner >>> [ ja:reasonerURL >>> <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>]; >>> >>> >>> >>> >>> >>> >>> -- PhD Student Robot Learning Laboratory LAR ICMC - USP São Carlos - Brazil
