-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Functional properties, SameAs inference, validation #7
Comments
Dear Benoit, 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, |
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.no<https://www.norceresearch.no/>
From: Marco De Salvo ***@***.***>
Sent: mandag 2. oktober 2023 18:30
To: mdesalvo/OWLSharp ***@***.***>
Cc: Benoit Daireaux ***@***.***>; Author ***@***.***>
Subject: Re: [mdesalvo/OWLSharp] Functional properties, SameAs inference, validation (Issue #7)
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
—
Reply to this email directly, view it on GitHub<#7 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ANDCMX56RMKTRVYGPFYP4EDX5LTY5AVCNFSM6AAAAAA5PTER4GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBTGM2DAMBXGY>.
You are receiving this because you authored the thread.Message ID: ***@***.******@***.***>>
|
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.no<https://www.norceresearch.no/>
From: Marco De Salvo ***@***.***>
Sent: mandag 2. oktober 2023 18:30
To: mdesalvo/OWLSharp ***@***.***>
Cc: Benoit Daireaux ***@***.***>; Author ***@***.***>
Subject: Re: [mdesalvo/OWLSharp] Functional properties, SameAs inference, validation (Issue #7)
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
—
Reply to this email directly, view it on GitHub<#7 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ANDCMX56RMKTRVYGPFYP4EDX5LTY5AVCNFSM6AAAAAA5PTER4GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBTGM2DAMBXGY>.
You are receiving this because you authored the thread.Message ID: ***@***.******@***.***>>
|
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. |
No problem, I'll open that ctor. It should be public of course. |
Three activities were done for this thread, now available in main after successful unit testing:
|
Thanks a lot!
Benoit Daireaux
Seniorforsker
Senior Researcher
+47 51 87 56 73
+47 957 87 884
Tullins gate 2, 0166 Oslo, Norway
NORCE
norceresearch.no<https://www.norceresearch.no/>
From: Marco De Salvo ***@***.***>
Sent: tirsdag 3. oktober 2023 20:18
To: mdesalvo/OWLSharp ***@***.***>
Cc: Benoit Daireaux ***@***.***>; Author ***@***.***>
Subject: Re: [mdesalvo/OWLSharp] Functional properties, SameAs inference, validation (Issue #7)
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
—
Reply to this email directly, view it on GitHub<#7 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ANDCMX2BXQI34FKYSI67J3TX5RJGFAVCNFSM6AAAAAA5PTER4GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBVGQ4TAMZVGI>.
You are receiving this because you authored the thread.Message ID: ***@***.******@***.***>>
|
@benoitdaireaux The library has been updated in Nuget with a new release (v3.8) containing these features. Regards, |
Hello,
I am not sure this is the best channel to ask this question...
I am a researcher at NORCE, and I am building an ontology to describe some industrial real-time signals. I have been using your packages for some time now, it is quite a beautiful work you've done!
Here is my question: I have a functional property (myProperty).
When I declare two assertions of this property for a single resource:
I would expect a reasoner to infer that resource1 and resource2 are the same (resource1 SameAs resource2). This is the behavior described in many textbooks.
I couldn't tune the reasoner to achieve this. So I created a custom rule (so far only valid for myProperty since it seems that custom rules can't apply to variable properties). It basically says: if q myProperty r1 AND q myProperty r2, THEN r1 SameAs r2.
This works fine. But when trying to validate the ontology, the functional property rule is broken: there are 2 property assertions, even if they are the same.
So:
Sorry for the long message, and again the library is a charm to use!
Regards,
Benoit Daireaux
The text was updated successfully, but these errors were encountered: