Coder Social home page Coder Social logo

Comments (8)

mdesalvo avatar mdesalvo commented on July 17, 2024

Dear Benoit,
yes this is the best channel to interact with the project in every way :)

The reasoner will be updated to address the functional property case you described: a functional property linking an individual to 2+ individuals can only mean that those individuals are the same. I'll introduce a fresh new standard rule to cover this.

The GlobalCardinality validator rule (which I understand is your actual pain point) will also be relaxed to not complain when detecting functional properties linking target individuals being declared or inferred the same.

Regards,
Marco

from owlsharp.

benoitdaireaux avatar benoitdaireaux commented on July 17, 2024

from owlsharp.

benoitdaireaux avatar benoitdaireaux commented on July 17, 2024

from owlsharp.

mdesalvo avatar mdesalvo commented on July 17, 2024

Hi, Thanks for your swift response. I’ll monitor the progress to see when the changes are made. On a side note: at some point, we needed to parse some SPARQL query into a RDFSharp query. We couldn’t find such functionality in your library, so we started implementing a parser ourself. It is far from complete, and mainly parses SELECT queries, but please tell me if you’re interested in this type of code, I can point you to our repo. Regards, Benoit Daireaux Seniorforsker Senior Researcher +47 51 87 56 73 +47 957 87 884 Tullins gate 2, 0166 Oslo, Norway NORCE norceresearch.nohttps://www.norceresearch.no/

You are right, SPARQL parser is not available in the library since it would require unfeasible effort for the project. I would be grateful if you could contribute this as a feature though one or more PRs, even with initial scope set to SELECT queries only. Consider that we do not have a complete SPARQL algebra: a limited set of features (like MINUS operator and arithmetical property paths) are not implemented, so they should trigger error during the parsing process.

from owlsharp.

mdesalvo avatar mdesalvo commented on July 17, 2024

Hello Marco, I have some other comments. I added to my ontology a reasoner rule that states that under certain conditions to individuals should be considered the same (SameAs). I used first the OWLReasonerRuleSameAsAtom as a consequent in my rule. I noticed that the SameAs consequence was disregarded when the two individuals were already marked as DifferentFrom. Although I understand the logic, I have a scenario where I still would like to have this property generated, and then have the validator detect the inconsistency. It is perhaps a standard scenario, I am not sure what should be the expected behavior of the OWLReasonerRuleSameAsAtom in that case, but I just wanted to inform you. I worked around the problem by using an ObjectPropertyAtom with the OWL.SAME_AS property. However, I couldn’t find in the validation any check for individuals marked SameAs and DifferentFrom at the same time. So I decided to add my own validation rule. My problem now when writing the delegate that is passed as an argument to the OWLValidatorRule is that is must return an OWLValidationReport. The only constructor for such a OWLValidationReport is internal, and I can therefore not instanciate the report from my external code… Could the constructor be made public? I appreciate your help, Benoit Daireaux Seniorforsker Senior Researcher +47 51 87 56 73 +47 957 87 884 Tullins gate 2, 0166 Oslo, Norway NORCE norceresearch.nohttps://www.norceresearch.no/

No problem, I'll open that ctor. It should be public of course.
Regarding the conflicts between sameAs and differentFrom they are checked at the moment of declaring them in the ontology data, so the ontology is always consistent. They are also checked in SWRL atoms, but I admit they cannot be checked outside these use cases at the moment. Maybe a standard validation rule for this would be appropriate.

from owlsharp.

mdesalvo avatar mdesalvo commented on July 17, 2024

Three activities were done for this thread, now available in main after successful unit testing:

  • Introduced standard reasoner rule OWLFunctionalEntailmentRule to emit owl:sameAs relations under situations in which functional object properties are found to link different target individuals and these individuals are compatible
  • Modified standard validator rule OWLGlobalCardinalityRule to not complain when detecting functional property violations under situations in which target individuals are explicitly found to be related by owl:sameAs
  • Modified visibility of OWLValidatorReport ctor in order to be public

from owlsharp.

benoitdaireaux avatar benoitdaireaux commented on July 17, 2024

from owlsharp.

mdesalvo avatar mdesalvo commented on July 17, 2024

@benoitdaireaux The library has been updated in Nuget with a new release (v3.8) containing these features.

Regards,
Marco

from owlsharp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.