Closed maximelefrancois86 closed 1 year ago
I would separate the required checks from the nice to have
For the V1, we are going to use manually a tool for OWL profile checking and checking consistency of the ontology. We leave the automation for the V2.
We (with Remi Ceres) used Corese API and here is the conclusion. Let us notice that since it was a recent addition to Corese, we cannot download it from corese.inria.fr but only from the Github, and there is no documentation + some Exceptions have been generated.
core.ttl is supported by OWL_RL
core.ttl is not supported by OWL_QL
<https://purl.org/hmas/core#transitivelyContains> a owl:ObjectProperty ;
a owl:TransitiveProperty ;
dc:source <https://github.com/HyperAgents/ns.hyperagents.org/issues/8#issuecomment-1025991719> ;
rdfs:comment "Links all the resources that are logically contained in a workspaces."@en ;
rdfs:domain <https://purl.org/hmas/core#Workspace> ;
rdfs:label "transitivelyContains"@en ;
rdfs:range rdfs:Resource ;
rdfs:seeAlso <https://github.com/HyperAgents/ns.hyperagents.org/issues/18> ;
rdfs:seeAlso <https://github.com/HyperAgents/ns.hyperagents.org/issues/39> ;
owl:inverseOf <https://purl.org/hmas/core#isTransitivelyContainedIn>
core.ttl is not supported by OWL_EL
<https://purl.org/hmas/core#hasProfile> a owl:AsymmetricProperty ;
a owl:ObjectProperty ;
rdfs:comment "A relation that links a resource to its profile."@en ;
rdfs:label "has profile"@en ;
rdfs:range <https://purl.org/hmas/core#ResourceProfile> ;
owl:inverseOf <https://purl.org/hmas/core#isProfileOf>
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
(...)
Finally, I checked the consistency of the core ontology and it is consistent according to Protégé.
If I don't do any mistake, OWL 2 RL has the following complexity characteristics :
Is it an acceptable OWL profile ?
All the items have been checked expect for :
* links to scenarios and competency questions * links to issues * turtle examples of the use of the ontology
These last items are carried over to the next version.
I did a PR where I added in the comments of the ontology, the OWL Profile. I'll close this issue when the PR will be approved by all the members.
I we run the OntOlogy Pitfalls Scanner OOPS!, this is what we get:
Results for P11: Missing domain or range in properties.4 cases | Important Important Object and/or datatype properties without domain or range (or none of them) are included in the ontology.
This pitfall appears in the following elements:
Tip: Solving this pitfall may lead to new results for other pitfalls and suggestions. We encourage you to solve all cases when needed and see what else you can get from OOPS! Results for P13: Inverse relationships not explicitly declared.1 case | Minor Minor This pitfall appears when any relationship (except for those that are defined as symmetric properties using owl:SymmetricProperty) does not have an inverse relationship (owl:inverseOf) defined within the ontology.
This pitfall appears in the following elements:
This pitfall appears in the following elements:
This pitfall appears in the following elements:
This pitfall applies to the ontology in general instead of specific elements.
Results for P40: Namespace hijacking.1 case | Critical Critical It refers to reusing or referring to terms from another namespace that are not defined in such namespace. This is an undesirable situation as no information can be retrieved when looking up those undefined terms. This pitfall is related to the Linked Data publishing guidelines provided in [11]: "Only define new terms in a namespace that you control" and to the guidelines provided in [5].
This pitfall appears in the following elements:
For detecting this pitfall we rely on TripleChecker. See more results at TripleChecker website. Up to now this pitfall is only available for the "Scanner by URI" option.
After discussion at the heartbeat meeting on 16 June 2023, we decided to close this issue because it has been done.
What are the sanity checks we want the ontology to pass before we release a new version ?
I can think of: