-
-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
Description
The turtle file with RDF(S) of the CWL SALAD Schema retrievable under http://commonwl.org/v1.2/cwl.ttl (or alternatively by running schema-salad-tool --print-rdfs
with the full schema CommonWorkflowLanguage.yml
in the cwl-v1.2 repository) contains the following statement:
@base:basename a rdf:Property ;
rdfs:domain @base:Directory,
@base:File .
Which states (by inference, see RDF 1.1 Semantics entailment pattern 'rdfs2') that every subject IRI of a triple with the predicate https://w3id.org/cwl/cwl#basename
is an instance of the class @base:Directory
and an instance of the class @base:File
. This is clearly not the case as not every File is a Directory (and they even have different fields in CWL too).
Analysis
Perhaps this error is due to the fact that the semantics of the object-oriented model and RDFS mis-match:
- In RDFS it is not possible to narrow down the domain and range of a property in a sub-class or different classes (properties are always global)
- In Apache Avro its instead totally fine to use the same name 'basename' for a field in different records with different types 'File' and 'Directory' as the properties are not globally visible and valid.
Solution ideas
- Either the same field name is in different records with different types mapped to different IRIs (as the same field name indicates some conformity in use, the IRIs could still build a property-hierarchy, stating in the super-property the overlap in their usage, and in the sub-properties their difference (but this cannot be formulated with the current standard))
- or the
salad-schema-tool
does infer only the most specific type of the domain/range of a property, which is valid globally in all contexts in which the property is used (not like now every most specific type; by following the class hierarchy upwards until a common class for all domain/range usages of the property is found).
Metadata
Metadata
Assignees
Labels
No labels