biolink-model
biolink-model copied to clipboard
Question about RDF predicates
Given the following yaml definition:
subject:
is_a: association slot
...
mappings:
- rdf:subject
- owl:annotatedSource
- oban:association_has_subject
context.jsonld is currently generated with:
"subject": {
"@type": "@id",
"@id": "rdf:subject"
},
meaning that the Json fragment:
"foo" {
"is_a" : "GenotypeToGenotypePartAssociation",
"subject": "http://identifiers.org/drugbank/DB11827",
...
},
Produces:
:foo rdf:type biolink:GenotypeToGenotypePartAssociation;
rdf:subject <http://identifiers.org/drugbank/DB11827>.
and the ShEx validator asserts that every instance of a biolinkGenotypeToGenotypePartAssociation
must have exactly one rdf:subject
predicate.
Question 1:
How should non-RDF input (e.g. JSON, ...) be represented in RDF
-
Use the first mapping in the list if one exists: (
"subject" --> rdf:subject
) if one or more mappings exist otherwise use the native mapping ("affects_abundance_of --> biolink:affects_abundance_of
). -
Ignore the mappings: (
"subject" --> biolink:subject
) and ("affects_abundance_of --> biolink:affects_abundance_of
) -
Emit ALL mappings: (
"subject" --> biolink:subject, rdf:subject, owl:annotatedSource, ...
)
Question 2:
What should the RDF validator expect:
-
rdf:subject
andbiolink:affects_abundance_of
-
biolink:subject
andbiolink:affects_abundance_of
-
any of
biolink:subject, rdf:subject,
owl:annotatedSource`, ...
The implementation as it exists today uses answer 1 for both questions.
- Something else?
Also see issue #182
@hsolbrig are you still awaiting an answer to this?
Yes -- I don't believe that it has been answered.