Comments (8)
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.
from owlsharp.
from owlsharp.
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.
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.
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.
from owlsharp.
@benoitdaireaux The library has been updated in Nuget with a new release (v3.8) containing these features.
Regards,
Marco
from owlsharp.
Related Issues (20)
- Add support for writing OWL/XML syntax
- Add validator rule for checking owl:TopObjectProperty and owl:BottomObjectProperty consistency HOT 1
- Provide support for temporal reasoning HOT 1
- Reorganize internals to host SWRL as extension to the OWL core HOT 1
- SKOS extension should conform to our standard architecture (like SWRL, GEO and TIME)
- Provide support for SKOS reasoning HOT 1
- Complete SKOS validator with remaining rules
- Add support for temporal validation
- Add ability to import ontologies HOT 1
- Modeling support for "Negative Type" statement HOT 7
- Reasoner error? HOT 5
- Add reasoner rule for enhanced TBOX entailments
- Validation with cardinality restriction HOT 3
- Add ability to query an ontology with SPARQL
- Add support for modeling literal enumerate classes HOT 1
- Add support for exporting ontologies without including inferences
- Incorrect detection of OWL2-Full anonymous inline property expressions on restrictions
- Also provide reasoner rule for inverse functional entailment HOT 1
- Add validator rule for checking owl:Thing and owl:Nothing consistency HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from owlsharp.