Closed rhohimer closed 1 year ago
We have verified that the vocabularies when represented as custom datatypes are not supported by some (id not most) COTS reasoners. This means the reasoner interprets the custom datatype as a logical inconsistency and stops. Once stopped, it does no further reasoning.
The solution is to roll back to representing the vocabularies as lists of strings.
The custom datatypes for vocabularies have been removed. The assertion of the vocabularies as lists of strings in the range of the associated datatype property has not been been done. This issue should be assigned someone to implement the vocabularies in one of the next working sessions. FYI Tagging: @Vasileios-Mavroeidis @rhohimer
@Vasileios-Mavroeidis @mateusdz Reprioritizing the implementation of vocabularies. As noted in this issue custom datatype are not supported by reasoners. Adding Mateusz to the assignees.
I have created an issue-7-open-vocabularies branch where I will implement an alternate method on supporting open-vocabularies. Once complete, I'll commit the branch to the origin. We can review it then. Acceptance criteria for this branch is that it must maintain logical consistency for the reasoner to run.
I feel poorly about this @mateusdz . I see that you put a lot of work into reestablishing the custom datatypes for all the Open Vocabularies.
getting closer to resolution, however, there is still a logical inconsistency involving StixObject and integer... weird
An ObjectProperty whose range includes stix:StixObject needs to be rmoved for the following:
Removed all the someValuesFrom restrictions in the above mentioned files. I was able to successfully run the Description Logics Reasoner and infer Threat Actor Types.
Worked with Tim Casey to document the approach to handling STIX open vocabularies within stix.owl.
https://docs.google.com/document/d/1i206hb64kuqP1UU0Tn8L0UsDLliZkshw9rG_qwUVD0o/edit#
I have validated that the approach to using stix:categorizedBy some stix:StixCategoryObject works. Closing this issue and opening an issue for each OpenVocabulary implementation. Starting with AccountTypeOv.
It has been determined that Vocabularies implemented with custom datatypes are not supported by main stream reasoners. An alternate method of implementation should be used.
The workaround is to implement the vocabulary as string instances in the range of the datatype property.