linkml / schema-automator

Automated assistance for the schema development lifecycle
https://linkml.io/schema-automator/
BSD 3-Clause "New" or "Revised" License
33 stars 12 forks source link

OWL importer ignores undeclared properties #114

Closed cmungall closed 1 year ago

cmungall commented 1 year ago

the OWL importer is, as its name suggests, designed to import OWL. However, it's also useful to import RDFS, which can be largely treated as OWL.

One gotcha about treating RDFS schemas is OWL is uncommitted properties don't render as an OWL property type; we end up with annotations on them but no declaration:

AnnotationAssertion(rdfs:comment reproschema:ResponseActivity "Captures information about some action that took place. It also links to information (entities) that were used during the activity")
AnnotationAssertion(rdfs:comment reproschema:SoftwareAgent "Captures information about some action that took place. It also links to information (entities) that were used during the activity")
AnnotationAssertion(schema:domainIncludes schema:about reproschema:Activity)
AnnotationAssertion(schema:domainIncludes schema:about reproschema:Field)
AnnotationAssertion(schema:domainIncludes schema:about reproschema:Protocol)
AnnotationAssertion(rdfs:comment schema:about "The subject matter of the Field.")

For import purposes we don't need to know which OWL type this is. We can still translate to a slot. It is convenient if we at least know if the range is intended to be a datatype like string or an object, but the range could be treated as linkml:Any

cmungall commented 1 year ago

Fixed by #115