Skip to content

Commit

Permalink
Merge pull request #656 from sneumann/fix/issue652
Browse files Browse the repository at this point in the history
[WIP] Add DefinedTerm profile
  • Loading branch information
gtsueng authored Dec 12, 2023
2 parents 5f41fd3 + 5587648 commit 8c62315
Show file tree
Hide file tree
Showing 7 changed files with 189 additions and 0 deletions.
31 changes: 31 additions & 0 deletions DefinedTerm/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Profile for DefinedTerm and DefinedTermSet

The two SchemaOrg types DefinedTerm and DefinedTermSet
are allowed in many places as property values.

In e.g. the life-sciences, there are a number of controlled vocabularies
and ontologies, which are often used as source of the DefinedTerms.
Many of the, can be browsed and accessed through terminology and lookup services or portals.

For linked data applications it is sufficient for an entity
with `@type="DefinedTerm"` to link to an `@id` pointing to the IRI
of the referenced concept.

In other cases, more information is needed to search and view defined term information
without having to lookup external resources. E.g., a domain-specific search engine
can create faceted search based on the `name` property, like e.g. done in TeSS.
Aforementioned terminology services also offer linking and query interfaces
beyond IRIs as parameters.

Another possible use of a conformant `DefinedTerm`
is to enable creating hyperlinks to other web ressources, e.g.
https://bio.tools/t?inputDataFormatID=%22format_3244%22
or provide tool-tips if the `description` is provided.

Some typical OBO ontologies can be taken as inspiration of properties that should be
required or recommended in a Bioschema DefinedTerm profile. We also provide
some mapping information between properties of `DefinedTerm`
and those from OBO, OWL and SKOS, following work in https://doi.org/10.1186/2041-1480-2-S1-S3.

It is not intended to duplicate the content and expressivity
of powerful ontology representations and serialisations like OWL or RDF.
Empty file.
18 changes: 18 additions & 0 deletions DefinedTerm/examples/0.1-DRAFT/ECO-xray.jsonld
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"@type": "DefinedTerm",
"@id": "http://purl.bioontology.org/ontology/ECO/ECO:0005670",
"termCode": "0005670",
"name": "x-ray crystallography evidence used in manual assertion",
"url": "http://purl.bioontology.org/ontology/ECO/ECO:0005670",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"@id": "http://purl.obolibrary.org/obo/eco.owl",
"name": "Evidence & Conclusion Ontology (ECO)",
"url": "https://bioportal.bioontology.org/ontologies/ECO"
},
"sameAs": [
"http://purl.obolibrary.org/obo/ECO_0005670",
"https://identifiers.org/ECO:0005670",
"https://www.ebi.ac.uk/ols4/ontologies/eco/terms?obo_id=ECO:0005670"
]
}
17 changes: 17 additions & 0 deletions DefinedTerm/examples/0.1-DRAFT/EDAM-sequence_analysis.jsonld
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"@type": "DefinedTerm",
"@id": "http://purl.bioontology.org/ontology/EDAM/topic_0080",
"termCode": "topic_0080",
"name": "Sequence analysis",
"url": "http://purl.bioontology.org/ontology/EDAM/topic_0080",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"@id": "http://edamontology.org",
"name": "EDAM ontology",
"url": "https://bioportal.bioontology.org/ontologies/EDAM"
},
"sameAs": [
"https://identifiers.org/edam:topic_0080",
"https://www.ebi.ac.uk/ols/ontologies/edam/terms?short_form=topic_0080"
]
}
20 changes: 20 additions & 0 deletions DefinedTerm/examples/0.1-DRAFT/GO-protein_binding.jsonld
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"@type": "DefinedTerm",
"@id": "http://amigo.geneontology.org/amigo/term/GO:0005515",
"termCode": "0005515",
"name": "protein binding",
"url": "http://amigo.geneontology.org/amigo/term/GO:0005515",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"@id": "http://purl.obolibrary.org/obo/go.owl",
"name": "Gene Ontology",
"url": "https://bioportal.bioontology.org/ontologies/GO"
},
"sameAs": [
"http://purl.obolibrary.org/obo/GO_0005515",
"http://purl.bioontology.org/ontology/GO/GO:0005515",
"https://identifiers.org/GO:0005515",
"https://www.ebi.ac.uk/ols4/ontologies/go/terms?obo_id=GO:0005515",
"https://www.ebi.ac.uk/QuickGO/GTerm?id=GO:0005515"
]
}
18 changes: 18 additions & 0 deletions DefinedTerm/examples/0.1-DRAFT/NCBITAXON-human.jsonld
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"@type": "DefinedTerm",
"@id": "http://purl.bioontology.org/ontology/NCBITAXON/9606",
"termCode": "9606",
"name": "Homo sapiens",
"url": "http://purl.bioontology.org/ontology/NCBITAXON/9606",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"@id": "http://purl.obolibrary.org/obo/ncbitaxon.owl",
"name": "NCBI taxon",
"url": "https://bioportal.bioontology.org/ontologies/NCBITAXON"
},
"sameAs": [
"http://purl.uniprot.org/taxonomy/9606",
"https://identifiers.org/taxonomy:9606",
"http://purl.obolibrary.org/obo/NCBITaxon_9606"
]
}
85 changes: 85 additions & 0 deletions DefinedTerm/jsonld/DefinedTerm_v0.1-DRAFT.jsonld
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"@context": {
"schema": "http://schema.org/",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"bioschemasdrafts": "https://discovery.biothings.io/view/DefinedTerm/"
},
"@graph": [
{
"@id": "bioschemasdrafts:DefinedTerm",
"@type": "rdfs:Class",
"rdfs:comment": "A word, name, acronym, phrase, etc. with a formal definition. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term. This Bioschemas profile specifically helps reusing terms from terminology and ontology services.",
"rdfs:label": "DefinedTerm",
"rdfs:subClassOf": {
"@id": "schema:DefinedTerm"
},
"$validation": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"termCode": {
"description": "A code that identifies this [[DefinedTerm]] within a [[DefinedTermSet]]",
"type": "string",
"owl:cardinality": "one"
},
"inDefinedTermSet": {
"description": "A [[DefinedTermSet]] that contains this term.",
"type": "string",
"owl:cardinality": "one"
},
"description": {
"description": "A description of the item.",
"type": "string",
"owl:cardinality": "one"
},
"identifier": {
"description": "The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details.\n ",
"type": "string",
"owl:cardinality": "one"
},
"name": {
"description": "The name of the item.",
"type": "string",
"owl:cardinality": "one"
},
"sameAs": {
"description": "URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or official website.",
"owl:cardinality": "many"
},
"url": {
"description": "URL of the item.",
"oneOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
}
],
"owl:cardinality": "many"
}
},
"required": [
"inDefinedTermSet"
],
"recommended": [
"termCode",
"sameAs",
"name"
],
"optional": [
"description"
]
},
"schemaVersion": [
"https://schema.org/docs/releases.html#v23.0"
]
}
]
}

0 comments on commit 8c62315

Please sign in to comment.