diff --git a/.github/readme.md b/.github/readme.md
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/.github/readme.md
@@ -0,0 +1 @@
+
diff --git a/.github/workflows/__pycache__/generate_metadata.cpython-39.pyc b/.github/workflows/__pycache__/generate_metadata.cpython-39.pyc
new file mode 100644
index 00000000..6f12984b
Binary files /dev/null and b/.github/workflows/__pycache__/generate_metadata.cpython-39.pyc differ
diff --git a/.github/workflows/__pycache__/generate_property.cpython-39.pyc b/.github/workflows/__pycache__/generate_property.cpython-39.pyc
new file mode 100644
index 00000000..1151413b
Binary files /dev/null and b/.github/workflows/__pycache__/generate_property.cpython-39.pyc differ
diff --git a/.github/workflows/__pycache__/generate_spec_info.cpython-39.pyc b/.github/workflows/__pycache__/generate_spec_info.cpython-39.pyc
new file mode 100644
index 00000000..f00cd3bc
Binary files /dev/null and b/.github/workflows/__pycache__/generate_spec_info.cpython-39.pyc differ
diff --git a/.github/workflows/__pycache__/generate_transformed_profile.cpython-39.pyc b/.github/workflows/__pycache__/generate_transformed_profile.cpython-39.pyc
new file mode 100644
index 00000000..94942a2c
Binary files /dev/null and b/.github/workflows/__pycache__/generate_transformed_profile.cpython-39.pyc differ
diff --git a/.github/workflows/__pycache__/generate_types_cardinality.cpython-39.pyc b/.github/workflows/__pycache__/generate_types_cardinality.cpython-39.pyc
new file mode 100644
index 00000000..de98803f
Binary files /dev/null and b/.github/workflows/__pycache__/generate_types_cardinality.cpython-39.pyc differ
diff --git a/.github/workflows/config_file_update_script.py b/.github/workflows/config_file_update_script.py
new file mode 100644
index 00000000..b649bd70
--- /dev/null
+++ b/.github/workflows/config_file_update_script.py
@@ -0,0 +1,71 @@
+import json
+from pathlib import Path
+import yaml
+from colorama import Fore
+from colorama import Style
+import sys
+import csv
+from os import path
+from os import listdir
+from os.path import isfile, join
+from yaml.loader import SafeLoader
+
+## Main Script
+print(Fore.YELLOW + "Started updating profile versions config file" + Style.RESET_ALL)
+
+profile_verions_file = "./bioschemas.github.io/_data/profile_versions.yaml"
+
+stream = open(profile_verions_file, "r")
+docs = yaml.load_all(stream, yaml.FullLoader)
+
+d = {}
+
+for doc in docs:
+ try:
+ for k, v in doc.items():
+ # print(k, "->", v)
+ d[k] = v
+ # print("\n")
+ except Exception as e:
+ print("This exception occured in parsing the YAML file", e)
+
+args = sys.argv
+
+# For each new uploaded JSON-LD file
+for arg in args:
+ if "jsonld" in arg.split("/"):
+ if "json" in arg.split("."):
+ arglist = arg.split("/")
+ profile_name = arg.split("/")[-1].split(".")[0].split("_")[0]
+ profile_version = arg.split("_")[1].split("v")[1].split(".json")[0]
+
+ print(
+ Fore.LIGHTBLUE_EX
+ + "profile name and version: "
+ + profile_name
+ + ", "
+ + profile_version
+ + Style.RESET_ALL
+ )
+
+ if profile_name in d.keys():
+ print(
+ Fore.GREEN + "Before the change:",
+ str(d[profile_name]) + Style.RESET_ALL,
+ )
+ if arg.split("-")[1].split(".")[0] == "DRAFT":
+ d[profile_name]["latest_publication"] = profile_version
+
+ elif arg.split("-")[1].split(".")[0] == "RELEASE":
+ d[profile_name]["latest_release"] = profile_version
+ print(
+ Fore.LIGHTGREEN_EX + "After the update:",
+ str(d[profile_name]) + Style.RESET_ALL,
+ )
+
+f = open(profile_verions_file, "w+")
+yaml.dump(d, f, allow_unicode=True)
+
+print(
+ Fore.YELLOW + "Profile versions updated " + profile_verions_file + Style.RESET_ALL
+)
\ No newline at end of file
diff --git a/.github/workflows/generate_profile_workflow.yml b/.github/workflows/generate_profile_workflow.yml
new file mode 100644
index 00000000..bcd47b72
--- /dev/null
+++ b/.github/workflows/generate_profile_workflow.yml
@@ -0,0 +1,120 @@
+# This workflow will generate/update a/the profile HTML page each time the
+# DDE genrates and update a JSON-LD in the _data/specifications folder (repo)
+
+name: generate-profile
+
+on: [push]
+# pull_request:
+# types: [opened, reopened]
+
+env:
+ GH_TOKEN: ${{ secrets.Sahar_Workflows_Token }}
+
+# inputs:
+# branch-name:
+# description: $`date +%Y_%m_%d-%H_%M_%S`
+# required: true
+
+jobs:
+ generate-profile:
+ runs-on: ubuntu-latest
+
+ steps:
+
+ - name: Checkout Spec Repo and Retreive the Preceding Commit
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ - name: Get Changed Files
+ id: changed-files
+ uses: tj-actions/changed-files@v21
+
+ - name: List Changed Files
+ run: |
+ for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
+ echo "$file was changed"
+ done
+
+ - name: Setup Python 3.8
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.8 #install the python needed
+
+ - name: Install Python dependencies
+ uses: py-actions/py-dependency-install@v3
+ with:
+ path: "./.github/workflows/requirements.txt"
+
+ - name: Checkout the DDE repo
+ env:
+ GITHUB_TOKEN: ${{ secrets.Sahar_Workflows_Token }}
+ run: |
+ git clone https://user:$GITHUB_TOKEN@github.com/BioSchemas/bioschemas-dde
+ cd bioschemas-dde
+ git checkout latest-updated-profiles
+ ls
+
+ - name: Checkout the Website repo
+ env:
+ GITHUB_TOKEN: ${{ secrets.Sahar_Workflows_Token }}
+ run: |
+ git clone https://user:$GITHUB_TOKEN@github.com/BioSchemas/bioschemas.github.io
+ cd bioschemas.github.io
+ git pull
+ ls
+
+ - name: Checkout a new branch - Website repository
+ run: |
+ cd bioschemas.github.io
+ git checkout profile-auto-generation
+ git pull
+ git checkout -b `date +%Y_%m_%d-%H_%M`
+ cd ..
+
+ - name: Execute the config files update Python Script
+ run: |
+ python ./.github/workflows/config_file_update_script.py ${{steps.changed-files.outputs.all_changed_files}}
+
+ - name: Execute the profile rendering Python Script
+ run: |
+ python ./.github/workflows/profile_generation_script.py ${{steps.changed-files.outputs.all_changed_files}} bioschemas.github.io
+
+ - name: Setup the Github TOKEN
+ uses: oleksiyrudenko/gha-git-credentials@v2-latest
+ with:
+ path: bioschemas.github.io
+ email: sahar.frikha1@gmail.com
+ name: sahar-frikha
+ actor: sahar-frikha
+ token: '${{secrets.Sahar_Workflows_Token}}'
+
+ - name: Commit and Push the changes in the website
+ run: |
+ cd bioschemas.github.io
+ git config user.name "sahar-frikha"
+ git config user.email "sahar.frikha1@gmail.com"
+ git status
+ git add .
+ git commit -m "Updating Profile"
+ git push --set-upstream -u origin `date +%Y_%m_%d-%H_%M`
+
+ - name: Create a pull request
+ run: |
+ sleep 60
+ cd bioschemas.github.io
+ gh pr create --title "Auto-Rendering Profile" --body "This pull request has been created by a guithub action, after adding/updating a profile in the specifications repo."
+
+ - name: Commit and Push the changes in the DDE repository
+ run: |
+ cd bioschemas-dde
+ git config user.name "sahar-frikha"
+ git config user.email "sahar.frikha1@gmail.com"
+ git status
+ git add .
+ git commit -m "Updating Profile"
+ git push origin latest-updated-profiles
+
+ - name: End Workflow
+ run: |
+ echo "Check the Website !"
\ No newline at end of file
diff --git a/.github/workflows/profile_generation_script.py b/.github/workflows/profile_generation_script.py
new file mode 100644
index 00000000..5e0ec61a
--- /dev/null
+++ b/.github/workflows/profile_generation_script.py
@@ -0,0 +1,539 @@
+import json
+from pathlib import Path
+from pydoc import doc
+import yaml
+from colorama import Fore
+from colorama import Style
+import sys
+import os.path
+import csv
+from os import path
+
+
+def generate_transformed_profile(g, path_changed_file, external_properties):
+
+ transformed_profile = dict()
+
+ ### Spec_info
+ transformed_profile["spec_info"] = generate_spec_info(g, path_changed_file)
+
+ ### Mapping
+ transformed_profile["mapping"] = list(dict())
+
+ # Browse properties by marginality and add them to the mappings
+ if "$validation" in g.keys():
+ transformed_profile["type"] = "Profile"
+ for req_label in g["$validation"]["required"]:
+ prop = g["$validation"]["properties"][req_label]
+ new_p = generate_property(
+ g, prop, req_label, "Required", external_properties
+ )
+ transformed_profile["mapping"].append(new_p)
+
+ for reco_label in g["$validation"]["recommended"]:
+ prop = g["$validation"]["properties"][reco_label]
+ new_p = generate_property(
+ g, prop, reco_label, "Minimum", external_properties
+ )
+ transformed_profile["mapping"].append(new_p)
+
+ for opt_label in g["$validation"]["optional"]:
+ prop = g["$validation"]["properties"][opt_label]
+ new_p = generate_property(
+ g, prop, opt_label, "Optional", external_properties
+ )
+ transformed_profile["mapping"].append(new_p)
+ else:
+ transformed_profile["type"] = "Type"
+
+ ### Generate the metadata
+ transformed_profile["name"] = g["@id"].split(":")[1]
+ transformed_profile["use_cases_url"] = "/useCases/" + transformed_profile["name"]
+
+ with open("bioschemas-dde/draft_profile_list.txt") as csv_file:
+ csv_reader = csv.reader(csv_file, delimiter=",")
+ line_count = 0
+ for row in csv_reader:
+ line_count += 1
+ if line_count > 1:
+ fields = row[0].split("\t")
+ if fields[1] == transformed_profile["name"]:
+ # print(f'\n namespace={fields[0]}, name={fields[1]}, subclassof={fields[2]}, type={fields[3]}, version={fields[4]}, url={fields[5]}.')
+ transformed_profile["spec_type"] = {fields[3]}
+
+ transformed_profile["previous_version"] = get_previous_version(path_changed_file)
+ transformed_profile["previous_release"] = get_previous_release(path_changed_file)
+ transformed_profile["status"] = get_status(
+ transformed_profile["spec_info"]["version"]
+ )
+ transformed_profile["group"] = get_group(transformed_profile["name"])
+ transformed_profile["cross_walk_url"] = get_cross_walk_url(
+ transformed_profile["name"]
+ )
+ transformed_profile["gh_tasks"] = (
+ "https://github.com/Bioschemas/specifications/labels/type%3A%20"
+ + transformed_profile["name"]
+ )
+ transformed_profile["live_deploy"] = "/liveDeploys"
+ transformed_profile["parent_type"] = transformed_profile["spec_info"][
+ "official_type"
+ ]
+ transformed_profile["redirect_from"] = get_redirect_from(
+ transformed_profile["name"]
+ )
+ transformed_profile["hierarchy"] = get_hierarchy()
+ transformed_profile["json-ld_url"] = arg
+ transformed_profile["dde_ui_url"] = "https://discovery.biothings.io/view/"
+
+ if transformed_profile["type"] == "Profile":
+ if arg.split("-")[1].split(".")[0] == "DRAFT":
+ transformed_profile["dde_ui_url"] = (
+ transformed_profile["dde_ui_url"]
+ + "bioschemasdrafts/bioschemasdrafts:"
+ + transformed_profile["name"]
+ )
+ elif arg.split("-")[1].split(".")[0] == "RELEASE":
+ transformed_profile["dde_ui_url"] = (
+ transformed_profile["dde_ui_url"]
+ + "bioschemas/bioschemas:"
+ + transformed_profile["name"]
+ )
+ else:
+ if arg.split("-")[1].split(".")[0] == "DRAFT":
+ transformed_profile["dde_ui_url"] = (
+ transformed_profile["dde_ui_url"]
+ + "bioschemastypesdrafts/bioschemastypesdrafts:"
+ + transformed_profile["name"]
+ )
+ elif arg.split("-")[1].split(".")[0] == "RELEASE":
+ transformed_profile["dde_ui_url"] = (
+ transformed_profile["dde_ui_url"]
+ + "bioschemas/bioschemastypes/bioschemastypes:"
+ + transformed_profile["name"]
+ )
+
+ for i in transformed_profile:
+ if i != "spec_info" and i != "mapping":
+ print(
+ Fore.YELLOW
+ + Style.BRIGHT
+ + f"{i} = {transformed_profile[i]}"
+ + Style.RESET_ALL
+ )
+
+ return transformed_profile
+
+
+# display all files and get the -1 file
+from os import listdir
+from os.path import isfile, join
+
+
+def get_previous_version(path_changed_file):
+ previous_version = ""
+
+ mypath = path_changed_file.split("/")[0] + "/" + path_changed_file.split("/")[1]
+ onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
+
+ max = 0
+ for f in onlyfiles:
+ if f.split("_")[1].split("-")[1].split(".")[0] == "DRAFT":
+ if int(f.split("_")[1].split("-")[0].split(".")[1]) > max:
+ max = int(
+ f.split("_")[1].split("-")[0].split("v")[1].split(".")[0]
+ + f.split("_")[1].split("-")[0].split(".")[1]
+ )
+ previous_version = f.split("_")[1].split("v")[1].split(".json")[0]
+
+ return previous_version
+
+
+def get_previous_release(path_changed_file):
+ previous_release = ""
+ mypath = path_changed_file.split("/")[0] + "/" + path_changed_file.split("/")[1]
+ onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
+
+ max = 0
+ for f in onlyfiles:
+ if f.split("_")[1].split("-")[1].split(".")[0] == "RELEASE":
+ if int(f.split("_")[1].split("-")[0].split(".")[0].split("v")[1]) > max:
+ max = int(
+ f.split("_")[1].split("-")[0].split("v")[1].split(".")[0]
+ + f.split("_")[1].split("-")[0].split(".")[1]
+ )
+ previous_release = f.split("_")[1].split("v")[1].split(".json")[0]
+
+ return previous_release
+
+
+# if its draft it's revision, case release, deprecated
+def get_status(version):
+ status = ""
+ if version.split("-")[-1] == "DRAFT":
+ status = "Revision"
+ elif version.split("-")[-1] == "RELEASE":
+ status = "Deprecated"
+ return status
+
+
+# Create a mapping file grp == classes, and put it in the _data/ then fetch them from there
+def get_group(profile_name):
+ group = ""
+
+ with open("bioschemas.github.io/_data/metadata_mapping.csv") as csv_file:
+ csv_reader = csv.reader(csv_file, delimiter=",")
+ line_count = 0
+ for row in csv_reader:
+ line_count += 1
+ if line_count > 1:
+ if row[0] == profile_name:
+ group = row[1]
+ return group
+
+
+# same as grps, we need a mapping file. [The admin should make sure he updates the config files in the right order!]
+def get_cross_walk_url(profile_name):
+ cross_walk_url = ""
+
+ with open("bioschemas.github.io/_data/metadata_mapping.csv") as csv_file:
+ csv_reader = csv.reader(csv_file, delimiter=",")
+ line_count = 0
+ for row in csv_reader:
+ line_count += 1
+ if line_count > 1:
+ if row[0] == profile_name:
+ cross_walk_url = row[3]
+
+ return cross_walk_url
+
+
+# follow the pattern for most, and when I see an exception, hardcoded it an dictionary
+def get_redirect_from(profile_name):
+ redirect_from = list()
+
+ with open("bioschemas.github.io/_data/metadata_mapping.csv") as csv_file:
+ csv_reader = csv.reader(csv_file, delimiter=",")
+ line_count = 0
+ for row in csv_reader:
+ line_count += 1
+ if line_count > 1:
+ if row[0] == profile_name:
+ redirect_from = row[2]
+
+ return redirect_from
+
+
+# from the profiles json-ld :
+def get_hierarchy():
+ hierarchy = list()
+
+ return hierarchy
+
+
+def generate_spec_info(g, path_changed_file):
+ spec_info = dict()
+
+ if "rdfs:label" in g.keys():
+ spec_info["title"] = g["rdfs:label"]
+ else:
+ spec_info["title"] = path_changed_file.split("_")[0]
+
+ if "rdfs:comment" in g.keys():
+ spec_info["description"] = g["rdfs:comment"]
+ else:
+ spec_info["description"]
+
+ if "schema:schemaVersion" in g.keys():
+ spec_info["version"] = g["schema:schemaVersion"][0].split("/")[-1]
+ else:
+ spec_info["version"] = (
+ path_changed_file.split("_")[1].split("v")[1].split(".json")[0]
+ )
+
+ if "rdfs:subClassOf" in g.keys():
+ spec_info["official_type"] = g["rdfs:subClassOf"]["@id"].split(":")[1]
+ else:
+ spec_info["official_type"] = ""
+
+ spec_info["full_example"] = (
+ "https://github.com/BioSchemas/specifications/tree/master/"
+ + spec_info["title"]
+ + "/examples"
+ )
+
+ return spec_info
+
+
+def generate_property(g, prop, req_label, marginality, external_properties):
+
+ print(Fore.GREEN + Style.BRIGHT + f"Property : {req_label}" + Style.RESET_ALL)
+ new_p = dict()
+ # If I want to create a dict, new_p[] = {'description':prop["description"]}
+
+ new_p["property"] = req_label
+ new_p["marginality"] = marginality
+ new_p["cardinality"], new_p["expected_types"] = generate_types_cardianlity(g, prop)
+
+ if "description" in prop.keys():
+ new_p["description"] = prop["description"]
+ else:
+ new_p["description"] = ""
+ if "type_url" in prop.keys():
+ new_p["type_url"] = prop["type_url"]
+ else:
+ new_p["type_url"] = ""
+ if "bsc_description" in prop.keys():
+ new_p["bsc_description"] = prop["bsc_description"]
+ else:
+ new_p["bsc_description"] = ""
+ if "controlled_vocab" in prop.keys():
+ new_p["controlled_vocab"] = prop["controlled_vocab"]
+ else:
+ new_p["controlled_vocab"] = ""
+
+ if "example" in prop.keys():
+ new_p["example"] = prop["example"]
+ else:
+ new_p["example"] = ""
+
+ # Here we'll suppose that all properties are in default schemas.org !!!!!!!
+ new_p["type"] = ""
+ for p in external_properties:
+ if len(p.split(":")) > 1:
+ if req_label == p.split(":")[1]:
+ if len(p.split(":")[0].split("bioschemas")) > 1:
+ new_p["type"] = "Bioschemas"
+ else:
+ new_p["type"] = p.split(":")[0]
+ t = new_p["type"]
+ print(Fore.GREEN + Style.DIM + f"Property type : {t}" + Style.RESET_ALL)
+
+ return new_p
+
+
+def generate_types_cardianlity(g, prop):
+
+ list_types = list()
+ cardianliy = "ONE"
+
+ if "type" in prop.keys():
+ if "format" in prop.keys():
+ list_types.append(prop["format"])
+ else:
+ list_types.append(prop["type"])
+
+ if "anyOf" in prop.keys():
+ for e in prop["anyOf"]:
+ if "format" in e.keys():
+ list_types.append(e["format"])
+ elif "items" in e.keys():
+ list_types.append(e["items"])
+ cardianliy = "MANY"
+ else:
+ for t in e.keys():
+ list_types.append(e[t])
+
+ if "oneOf" in prop.keys():
+ for e in prop["oneOf"]:
+ if "format" in e.keys():
+ list_types.append(e["format"])
+ elif "items" in e.keys():
+ list_types.append(e["items"])
+ cardianliy = "MANY"
+ else:
+ for t in e.keys():
+ list_types.append(e[t])
+
+ i = 1
+ j = 1
+ while i == 1:
+ i = 0
+ j = j + 1
+ for t in list_types:
+ if isinstance(t, dict):
+ i = 1
+ e = t
+ list_types.remove(t)
+ if "format" in e.keys():
+ list_types.append(e["format"])
+ else:
+ for sous_type in e.keys():
+ list_types.append(e[sous_type])
+
+ if len(list_types) == 0:
+ cardianliy = ""
+
+ ### Some cleaning up
+ expected_types = []
+
+ for t in list_types:
+ if len(t.split("/")) > 1:
+ expected_types.append(t.split("/")[-1].capitalize())
+ ##If we ever needed it
+ # external_type= g['$validation']["definitions"][t.split('/')[-1]]
+ # print(Fore.YELLOW + f'Def of the External Type : {external_type}' + Style.RESET_ALL)
+
+ else:
+ expected_types.append(t.capitalize())
+
+ # Remove duplicates
+ clean_expected_types = list(set(expected_types))
+
+ # Replace 'String' with 'Text'
+ for i in clean_expected_types:
+ if i == "String":
+ clean_expected_types.remove(i)
+ clean_expected_types.append("Text")
+
+ # Replace 'Uri' with 'URI'
+ for i in clean_expected_types:
+ if i == "Uri":
+ clean_expected_types.remove(i)
+ clean_expected_types.append("URI")
+
+ print(Fore.MAGENTA + f"Expected Types : {clean_expected_types}" + Style.RESET_ALL)
+
+ print(Fore.RED + f"Cardinality = {cardianliy}" + Style.RESET_ALL)
+
+ return cardianliy, clean_expected_types
+
+
+# ## Main Script
+
+args = sys.argv
+website_repo = args[-1]
+args.remove(website_repo)
+
+# For each new uploaded JSON-LD file
+for arg in args:
+ if "jsonld" in arg.split("/"):
+ if "json" in arg.split("."):
+ arglist = arg.split("/")
+ profile_name = arg.split("/")[-1].split(".")[0].split("_")[0]
+ print(Fore.YELLOW + "added/updated profile: " + arg + Style.RESET_ALL)
+
+ in_file = "./" + arg
+
+ with open(in_file, "r", encoding="utf-8") as i:
+ data = json.load(i)
+
+ # print(json.dumps(data['@graph'][0], indent=True))
+
+ external_properties = []
+ for g in data["@graph"]:
+ if g["@type"] == "rdf:Property":
+ external_properties.append(g["@id"])
+
+ for g in data["@graph"]:
+
+ if g["@type"] == "rdfs:Class":
+
+ print(
+ Fore.BLUE
+ + Style.BRIGHT
+ + f'Profile : {g["@id"]}'
+ + Style.RESET_ALL
+ )
+ # print(Style.BRIGHT + f'{g.keys()}' + Style.RESET_ALL)
+
+ # For each profile :
+ # Prepare the transfermed profile : spec_info & mapping fields
+ transformed_profile = generate_transformed_profile(
+ g, arg, external_properties
+ )
+
+ # Inject the YAML in a HTML File
+ # Note: The folder should be in the transformed_profile["spec_info"]["title"] folder
+
+ ### PROBLEM: if the forlder "profile name" doesn't exist it will throw an exception, so we need to create it manually
+
+ folderpath = (
+ "./" + website_repo + "/pages/_profiles/" + profile_name
+ )
+ # out_YAML_file = folderpath+"/"+"generated_"+profile_name+".yaml"
+ out_HTML_file = (
+ folderpath
+ + "/"
+ + transformed_profile["spec_info"]["version"]
+ + ".html"
+ )
+
+ if path.exists(folderpath):
+ print("folder esists")
+ else:
+ # os.makedirs(os.path.dirname(folderpath), exist_ok=True)
+ Path(folderpath).mkdir(parents=True, exist_ok=True)
+ print("Create folder : ", folderpath)
+
+ # with open(out_YAML_file, "w", encoding="utf-8") as o:
+ # yaml.dump(transformed_profile, o)
+
+ # print(Style.BRIGHT + "Transformed profiles Generated and saved in " + out_YAML_file + Style.RESET_ALL)
+
+ message = """---
+# spec_info content generated using GOWeb
+# DO NOT MANUALLY EDIT THE CONTENT
+"""
+ with open(out_HTML_file, "w", encoding="utf-8") as o:
+ o.write(message)
+ yaml.dump(transformed_profile, o)
+ o.write("---")
+
+ print(
+ Style.BRIGHT
+ + "HTML Profile page created "
+ + out_HTML_file
+ + Style.RESET_ALL
+ )
+
+ ############# DDE REPOSITORY #############
+ dde_folderpath = "./bioschemas-dde/latest-updated-profiles"
+ if path.exists(dde_folderpath):
+ print("Folder latest-updated-profiles exists in DDE")
+ else:
+ # os.makedirs(os.path.dirname(folderpath), exist_ok=True)
+ Path(dde_folderpath).mkdir(parents=True, exist_ok=True)
+ print("Create folder in DDE: ", dde_folderpath)
+
+ latest_updated_profiles = (
+ dde_folderpath + "/" + profile_name + ".csv"
+ )
+
+ header = [
+ "namespace",
+ "name",
+ "subclassOf",
+ "type" "version",
+ "url",
+ ]
+
+ SubClass = ""
+
+ with open(
+ "bioschemas.github.io/_data/metadata_mapping.csv"
+ ) as csv_file:
+ csv_reader = csv.reader(csv_file, delimiter=",")
+ line_count = 0
+ for row in csv_reader:
+ line_count += 1
+ if line_count > 1:
+ if row[0] == profile_name:
+ SubClass = row[0]
+
+ data = [
+ "bioschams",
+ profile_name,
+ SubClass,
+ transformed_profile["spec_info"]["version"],
+ "https://github.com/BioSchemas/specifications/tree/master/"
+ + arg,
+ ]
+
+ with open(latest_updated_profiles, "w", encoding="utf-8") as f:
+ writer = csv.writer(f)
+
+ # write the header
+ writer.writerow(header)
+
+ # write the data
+ writer.writerow(data)
diff --git a/.github/workflows/profile_versions.yaml b/.github/workflows/profile_versions.yaml
new file mode 100644
index 00000000..0476e4a5
--- /dev/null
+++ b/.github/workflows/profile_versions.yaml
@@ -0,0 +1,215 @@
+---
+Beacon:
+ name: "Beacon"
+ latest_publication: "0.2-DRAFT-2018_04_23"
+ latest_release:
+ status: "deprecated"
+ deprecated_date: "2019-11-22"
+
+BioSample:
+ name: "BioSample"
+ latest_publication: "0.1-DRAFT-2019_11_12"
+ latest_release:
+ status: "active"
+
+ChemicalSubstance:
+ name: "ChemicalSubstance"
+ latest_publication:
+ latest_release: "0.4-RELEASE"
+ status: "active"
+
+ComputationalTool:
+ name: "ComputationalTool"
+ latest_publication:
+ latest_release: "1.0-RELEASE"
+ status: "active"
+
+ComputationalWorkflow:
+ name: "ComputationalWorkflow"
+ latest_publication:
+ latest_release: "1.0-RELEASE"
+ status: "active"
+
+Course:
+ name: "Course"
+ latest_publication: "0.9-DRAFT-2020_12_08"
+ latest_release:
+ status: "active"
+
+CourseInstance:
+ name: "CourseInstance"
+ latest_publication: "0.8-DRAFT-2020_10_06"
+ latest_release:
+ status: "active"
+
+DataCatalog:
+ name: "DataCatalog"
+ latest_publication:
+ latest_release: "0.3-RELEASE-2019_07_01"
+ status: "active"
+
+DataRecord:
+ name: "DataRecord"
+ latest_publication: "0.2-DRAFT-2019_06_14"
+ latest_release:
+ status: "deprecated"
+ deprecated_date: "2021-02-22"
+
+Dataset:
+ name: "Dataset"
+ latest_publication: "0.5-DRAFT"
+ latest_release: "0.3-RELEASE-2019_06_14"
+ status: "active"
+
+Disease:
+ name: "Disease"
+ latest_publication: "0.1-DRAFT"
+ latest_release:
+ status: "active"
+
+Event:
+ name: "Event"
+ latest_publication: "0.2-DRAFT-2019_06_14"
+ latest_release:
+ status: "active"
+
+FormalParameter:
+ name: "FormalParameter"
+ latest_publication:
+ latest_release: "1.0-RELEASE"
+ status: "active"
+
+Gene:
+ name: "Gene"
+ latest_publication: "1.1-DRAFT"
+ latest_release: "1.0-RELEASE"
+ status: "active"
+
+Journal:
+ name: "Journal"
+ latest_publication: "0.2-DRAFT-2020_12_03"
+ latest_release:
+ status: "active"
+
+LabProtocol:
+ name: "LabProtocol"
+ latest_publication: "0.6-DRAFT-2020_12_08"
+ latest_release:
+ status: "active"
+
+MolecularEntity:
+ name: "MolecularEntity"
+ latest_publication:
+ latest_release: "0.5-RELEASE"
+ status: "active"
+
+Organization:
+ name: "Organization"
+ latest_publication: "0.2-DRAFT-2019_07_19"
+ latest_release:
+ status: "active"
+
+Person:
+ name: "Person"
+ latest_publication: "0.2-DRAFT-2019_07_19"
+ latest_release:
+ status: "active"
+
+Phenotype:
+ name: "Phenotype"
+ latest_publication: "0.2-DRAFT"
+ latest_release:
+ status: "active"
+
+Protein:
+ name: "Protein"
+ latest_publication: "0.12-DRAFT"
+ latest_release: "0.11-RELEASE"
+ status: "active"
+
+ProteinAnnotation:
+ name: "ProteinAnnotation"
+ latest_publication: "0.6-DRAFT"
+ latest_release:
+ status: "deprecated"
+ superseded_by: "SequenceAnnotation"
+
+ProteinStructure:
+ name: "ProteinStructure"
+ latest_publication: "0.5-DRAFT-2018_08_15"
+ latest_release:
+ status: "active"
+
+PublicationIssue:
+ name: "PublicationIssue"
+ latest_publication: "0.2-DRAFT-2020_12_03"
+ latest_release:
+ status: "active"
+
+PublicationVolume:
+ name: "PublicationVolume"
+ latest_publication: "0.2-DRAFT-2020_12_03"
+ latest_release:
+ status: "active"
+
+RNA:
+ name: "RNA"
+ latest_publication: "0.1-DRAFT-2019_11_15"
+ latest_release:
+ status: "active"
+
+Sample:
+ name: "Sample"
+ latest_publication:
+ latest_release: "0.2-RELEASE-2018_11_10"
+ status: "active"
+
+ScholarlyArticle:
+ name: "ScholarlyArticle"
+ latest_publication: "0.2-DRAFT-2020_12_03"
+ latest_release:
+ status: "active"
+
+SemanticTextAnnotation:
+ name: "SemanticTextAnnotation"
+ latest_publication: "0.2-DRAFT-2020_12_03"
+ latest_release:
+ status: "active"
+
+SequenceAnnotation:
+ name: "SequenceAnnotation"
+ latest_publication: "0.7-DRAFT"
+ latest_release:
+ status: "active"
+
+SequenceRange:
+ name: "SequenceRange"
+ latest_publication: "0.1-DRAFT"
+ latest_release:
+ status: "active"
+
+Study:
+ name: "Study"
+ latest_publication: "0.2-DRAFT"
+ latest_release:
+ status: "active"
+
+Taxon:
+ name: "Taxon"
+ latest_publication: "0.7-DRAFT"
+ latest_release: "0.6-RELEASE"
+ status: "active"
+
+TaxonName:
+ name: "TaxonName"
+ latest_publication: "0.1-DRAFT"
+ latest_release:
+ status: "active"
+
+TrainingMaterial:
+ name: "TrainingMaterial"
+ latest_publication:
+ latest_release: "1.0-RELEASE"
+ status: "active"
+
+---
diff --git a/.github/workflows/requirements.txt b/.github/workflows/requirements.txt
new file mode 100644
index 00000000..d68b0141
--- /dev/null
+++ b/.github/workflows/requirements.txt
@@ -0,0 +1,4 @@
+jsonlib-python3==1.6.1
+PyYAML==6.0
+colorama==0.4.4
+GitPython
\ No newline at end of file
diff --git a/Beacon/jsonld/Beacon_v0.2-DRAFT-2018_04_23-DEPRECATED.json b/Beacon/jsonld/Beacon_v0.2-DRAFT-2018_04_23-DEPRECATED.json
index 2e6cce79..15d67c68 100644
--- a/Beacon/jsonld/Beacon_v0.2-DRAFT-2018_04_23-DEPRECATED.json
+++ b/Beacon/jsonld/Beacon_v0.2-DRAFT-2018_04_23-DEPRECATED.json
@@ -12,7 +12,7 @@
"@id": "bioschemasdeprecated:Beacon",
"@type": "rdfs:Class",
"owl:deprecated": "True",
- "rdfs:comment": "A convention for beacon to self-describe. In this document we propose a simple way for a beacons to self-describe their genetic variant cardinality service for better integration with other beacons within the beacon-network. It builds upon the Beacon service API and uses existing schema.org entities and properties. Version: 0.2-DRAFT-2018_04_23",
+ "rdfs:comment": "A ddd for beacon to self-describe. In this document we propose a simple way for a beacons to self-describe their genetic variant cardinality service for better integration with other beacons within the beacon-network. It builds upon the Beacon service API and uses existing schema.org entities and properties. Version: 0.2-DRAFT-2018_04_23",
"schema:schemaVersion": [
"https://bioschemas.org/profiles/Beacon/0.2-DRAFT-2018_04_23"
],
diff --git a/BioSample/jsonld/BioSample_v0.1-RELEASE.json b/BioSample/jsonld/BioSample_v0.1-RELEASE.json
index 278fd275..8c91afa8 100644
--- a/BioSample/jsonld/BioSample_v0.1-RELEASE.json
+++ b/BioSample/jsonld/BioSample_v0.1-RELEASE.json
@@ -9,12 +9,12 @@
{
"@id": "bioschemas:BioSample",
"@type": "rdfs:Class",
- "rdfs:comment": "A biological material entity that is representative of a whole.\nComments: Typically samples are intended to be representative of the whole or aspects thereof. Examples of samples include biomedical samples (blood, urine) and plant specimens held at herbaria. Version 0.1-RELEASE. Note, the parent class for this schema has been updated to a pending class in schema.org.",
+ "rdfs:comment": "A rgrfr frzer ss that is representative of a whole.\nComments: Typically samples are intended to be representative of the whole or aspects thereof. Examples of samples include biomedical samples (blood, urine) and plant specimens held at herbaria. Version 0.1-RELEASE. Note, the parent class for this schema has been updated to a pending class in schema.org.",
"rdfs:label": "BioSample",
"schema:additionalType":"https://bioschemas.org/types#nav-release",
"schema:schemaVersion":"0.1-RELEASE",
"rdfs:subClassOf": {
- "@id": "schema:BioChemEntity"
+ "@id": "schema:hhhh"
}
},
{
@@ -159,7 +159,7 @@
{
"@id": "bioschemas:samplingAge",
"@type": "rdf:Property",
- "rdfs:comment": "The age of the object when the Sample was created. ",
+ "rdfs:comment": "The age of the object when gdge Sample was created. ",
"rdfs:label": "samplingAge",
"schema:domainIncludes": {
"@id": "bioschemas:BioSample"
diff --git a/ComputationalTool/jsonld/ComputationalTool_v0.5-DRAFT.json b/ComputationalTool/jsonld/ComputationalTool_v0.5-DRAFT.json
index 480b55e3..6146f409 100644
--- a/ComputationalTool/jsonld/ComputationalTool_v0.5-DRAFT.json
+++ b/ComputationalTool/jsonld/ComputationalTool_v0.5-DRAFT.json
@@ -8,22 +8,22 @@
},
"@graph": [
{
- "@id": "bioschemas:ComputationalTool",
+ "@id": "bioschemas:ComputasddddssstionalTool",
"@type": "rdfs:Class",
- "rdfs:comment": "Bioschemas specification for describing a SoftwareApplication in the Life Sciences The Life Science Tools specification provides a way to describe bioscience tools and software on the World Wide Web. It defines a set of metadata and vocabularies, built on top of existing technologies and standards, that can be used to represent such tools in Web pages and applications. The goal of the specification is to make it easier to discover, exchange and integrate information about life science tools across the Internet.
Summary of Changes
Changes since the 0.4-DRAFT of the tools profile:
- Profile name changed from Tool to ComputationalTool
- outputData and outputFormat replaced with serviceOutput
- Expected types of additionalType changed from Text to URL
- Expected types of applicationCategory extended to include URL
- Expected types of applicationSubCategory extended to include URL
- inputData and inputFormat replaced with edam:has_input
- Expected types of featureList extended to include Text
- Expected types of provider extended to include Person
Version: 0.5-DRAFT",
+ "rdfs:comment": " specificarrrrtion for describing a in the Life Sciences The Life Science Tools specification provides a way to describe bioscience tools and software on the World Wide Web. It defines a set of metadata and vocabularies, built on top of existing technologies and standards, that can be used to represent such tools in Web pages and applications. The goal of the specification is to make it easier to discover, exchange and integrate information about life science tools across the Internet. Summary of Changes
Changes since the 0.4-DRAFT of the tools profile:
- Profile name changed from Tool to ComputationalTool
- outputData and outputFormat replaced with serviceOutput
- Expected types of additionalType changed from Text to URL
- Expected types of applicationCategory extended to include URL
- Expected types of applicationSubCategory extended to include URL
- inputData and inputFormat replaced with edam:has_input
- Expected types of featureList extended to include Text
- Expected types of provider extended to include Person
Version: 0.5-DRAFT",
"schema:schemaVersion": [
"https://bioschemas.org/profiles/ComputationalTool/0.5-DRAFT"
],
"rdfs:label": "ComputationalTool",
"rdfs:subClassOf": {
- "@id": "schema:SoftwareApplication"
+ "@id": "schema:eee"
},
"$validation": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"additionalType": {
- "description": "Type of tool e.g. Command-line tool, Web application etc.\n**Note:** Bioschemas have changed [URL](http://schema.org/URL) to [Text](http://schema.org/Text) in the Expected Types. This will be reverted once Bio.Tools provides stable URIs for tool types. An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
+ "description": "Type of tool e.g. Command-line tool, Web app etc.\n**Note:** Bioschemas have changed [URL](http://schema.org/URL) to [Text](http://schema.org/Text) in the Expected Types. This will be reverted once Bio.Tools provides stable URIs for tool types. An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
"oneOf": [
{
"type": "string",
@@ -130,13 +130,13 @@
{
"type": "array",
"items": {
- "type": "string"
+ "type": "strddsssing"
}
}
]
},
"codeRepository": {
- "description": "Link to the source code repository of the tool. Link to the repository where the un-compiled, human readable code and related code is located (SVN, github, CodePlex).",
+ "description": "Linkcc to tdlldhe source code repository of the tool. Link to the repository where the un-compiled, human readable code and related code is located (SVN, github, CodePlex).",
"oneOf": [
{
"type": "string",
@@ -827,4 +827,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/ComputationalTool/jsonld/ComputationalTool_v0.6-DRAFT.json b/ComputationalTool/jsonld/ComputationalTool_v0.6-DRAFT.json
new file mode 100644
index 00000000..d8338eae
--- /dev/null
+++ b/ComputationalTool/jsonld/ComputationalTool_v0.6-DRAFT.json
@@ -0,0 +1,830 @@
+{
+ "@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#",
+ "bioschemas": "http://discovery.biothings.io/view/bioschemas/",
+ "edam": "http://edamontology.org/"
+ },
+ "@graph": [
+ {
+ "@id": "bioschemas:ComputationalTool",
+ "@type": "rdfs:Class",
+ "rdfs:comment": " specification for describing a ddin the Life Sciences The Life Science Tools specification provides a way to describe bioscience tools and software on the World Wide Web. It defines a set of metadata and vocabularies, built on top of existing technologies and standards, that can be used to represent such tools in Web pages and applications. The goal of the specification is to make it easier to discover, exchange and integrate information about life science tools across the Internet. Summary of Changes
Changes since the 0.4-DRAFT of the tools profile:
- Profile name changed from Tool to ComputationalTool
- outputData and outputFormat replaced with serviceOutput
- Expected types of additionalType changed from Text to URL
- Expected types of applicationCategory extended to include URL
- Expected types of applicationSubCategory extended to include URL
- inputData and inputFormat replaced with edam:has_input
- Expected types of featureList extended to include Text
- Expected types of provider extended to include Person
Version: 0.5-DRAFT",
+ "schema:schemaVersion": [
+ "https://bioschemas.org/profiles/ComputationalTool/0.6-DRAFT"
+ ],
+ "rdfs:label": "ddddddd",
+ "rdfs:subClassOf": {
+ "@id": "sssss:eee"
+ },
+ "$validation": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "additionalType": {
+ "description": "fffff of tool e.g. Comddddmand-line tool, Web app etc.\n**Note:** Bioschemas have changed [URL](http://schema.org/URL) to [Text](http://schema.org/Text) in the Expected Types. This will be reverted once Bio.Tools provides stable URIs for tool types. An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "ssss",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "applicationCategory": {
+ "description": "The high-level ssss dd tzzhe global context, **please always use \"Computational science tool\"**. Type of software application, e.g. 'Game, Multimedia'.",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ }
+ ]
+ },
+ "applicationSubCategory": {
+ "description": "Use an [EDAM:Topic](http://edamontology.org/topic_0003) to describe the category of application Subcategory of the application, e.g. 'Arcade Game'.",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "applicationSuite": {
+ "description": "A suite of tools, to which the tool belongs. The name of the application suite to which the application belongs (e.g. Excel belongs to Office).",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "author": {
+ "description": "TODO The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "citation": {
+ "description": "Publication about this tool. A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/sss/ttttt"
+ }
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "hdfgd",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "codeRepository": {
+ "description": "fffff to the ddd code repository of the tool. Link to the repository where the un-compiled, human readable code and related code is located (SVN, github, CodePlex).",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "contributor": {
+ "description": "TODO A secondary contributor to the CreativeWork or Event.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "description": {
+ "description": "A short description of the tool. A description of the item.",
+ "type": "string"
+ },
+ "discussionUrl": {
+ "description": "TODO A link to the page containing the comments of the CreativeWork.",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "downloadUrl": {
+ "description": "A link to the sss(ssjjs). If the fcccccile can be downloaded, URL to download the binary.",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "has_input": {
+ "description": "This is errquivalent to edam:has_input. It should be modelled as a MediaObject. ",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaobject"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/mediaobject"
+ }
+ }
+ ]
+ },
+ "featureList": {
+ "description": "Functionality provided by the tool.\n**Note:** Bioschemas have removed [Text](http://schema.org/Text) from the Expected Types Features or modules provided by this application (and possibly required by other applications).",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "funder": {
+ "description": "TODO A person or organization that supports (sponsors) something through some kind of financial contribution.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "hasPart": {
+ "description": "TODO Indicates an item or CreativeWork that is part of this item, or CreativeWork (in some sense).\nInverse property: isPartOf.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ },
+ "identifier": {
+ "description": "TODO 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](http://schema.org/docs/datamodel.html#identifierBg) for more details.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/propertyvalue"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/propertyvalue"
+ }
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "isAccessibleForFree": {
+ "description": "A flag to signal that the tool or the service are available to be used for free. A flag to signal that the item, event, or place is accessible for free. Supersedes free.",
+ "type": "boolean"
+ },
+ "isBasedOn": {
+ "description": "A tool or another work which this tool is based on, or is an extension, distribution, or deployment of. A resource from which this work is derived or from which it is a modification or adaption. Supersedes isBasedOnUrl.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ },
+ {
+ "$ref": "#/definitions/product"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/product"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "isPartOf": {
+ "description": "A collection, other than a suite of tools, to which the tool belongs. Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of.\nInverse property: hasPart.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ },
+ "keywords": {
+ "description": "Additional keywords or tags important for this tool. Multiple entries are delimited by commas. Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas.",
+ "type": "string"
+ },
+ "license": {
+ "description": "The license of a software, curated dataset, etc. A license document that applies to this content, typically indicated by URL.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "name": {
+ "description": " The name of the item.",
+ "type": "string"
+ },
+ "operatingSystem": {
+ "description": "Operating systems on which the tool can be used (without additional wrapping). Operating systems supported (Windows 7, OSX 10.6, Android 1.6).",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "programmingLanguage": {
+ "description": "The main programming language(s) used to build or execute the tool. The computer programming language.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/computerlanguage"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/computerlanguage"
+ }
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "provider": {
+ "description": "The provider organization of a web application, database portal, web service, etc.\n**Note:** Bioschemas have removed [Person](http://schema.org/Person) from the Expected Types. The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller. Supersedes carrier.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "serviceOutput": {
+ "description": "This is equivalent to edam:has_output. It should be modelled as a MediaObject. The tangible thing generated by the service, e.g. a passport, permit, etc. Supersedes produces.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaobject"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/mediaobject"
+ }
+ }
+ ]
+ },
+ "softwareAddOn": {
+ "description": "Additional sub-tools (add-ons, plug-ins, tools in a suite, etc.) that are included in the tool or workflow. Additional content for a software application.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/softwareapplication"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/softwareapplication"
+ }
+ }
+ ]
+ },
+ "softwareHelp": {
+ "description": "A documentation of the tool. Software application help.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ },
+ "softwareVersion": {
+ "description": "Version(s) of the tool, which this information is valid for. Can also be a comma-delimited list and include hyphen-separated ranges of versions. Version of the software instance.",
+ "type": "string"
+ },
+ "thumbnailUrl": {
+ "description": "A small image representing the tool, such as an icon. A thumbnail image relevant to the Thing.",
+ "type": "string",
+ "format": "uri"
+ },
+ "url": {
+ "description": "Homepage of the tool. URL of the item.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "description",
+ "name",
+ "url"
+ ],
+ "recommended": [
+ "additionalType",
+ "applicationCategory",
+ "applicationSubCategory",
+ "author",
+ "citation",
+ "featureList",
+ "license",
+ "softwareVersion"
+ ],
+ "optional": [
+ "applicationSuite",
+ "codeRepository",
+ "contributor",
+ "discussionUrl",
+ "downloadUrl",
+ "has_input",
+ "funder",
+ "hasPart",
+ "identifier",
+ "isAccessibleForFree",
+ "isBasedOn",
+ "isPartOf",
+ "keywords",
+ "operatingSystem",
+ "programmingLanguage",
+ "provider",
+ "serviceOutput",
+ "softwareAddOn",
+ "softwareHelp",
+ "thumbnailUrl"
+ ],
+ "definitions": {
+ "organization": {
+ "@type": "Organization",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "legalName": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sameAs": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "person": {
+ "@type": "Person",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "mainEntityOfPage": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "creativework": {
+ "@type": "CreativeWork",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "identifier": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": []
+ },
+ "mediaobject": {
+ "@type": "schema:MediaObject",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "propertyvalue": {
+ "@type": "PropertyValue",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "identifier": {
+ "type": "string"
+ },
+ "valuereference": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/categorycode"
+ },
+ {
+ "type": "array",
+ "items": [
+ {
+ "$ref": "#/definitions/categorycode"
+ }
+ ]
+ }
+ ]
+ },
+ "unitCode": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ }
+ ]
+ },
+ "unitText": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "recommended": [
+ "valueReference"
+ ],
+ "optional": [
+ "unitCode",
+ "unitText"
+ ]
+ },
+ "categorycode": {
+ "@type": "CategoryCode",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "codeValue": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "codeValue",
+ "url"
+ ]
+ },
+ "product": {
+ "@type": "schema:Product",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "computerlanguage": {
+ "@type": "schema:ComputerLanguage",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "softwareapplication": {
+ "@type": "schema:SoftwareApplication",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ {
+ "@id": "bioschemas:codeRepository",
+ "@type": "rdf:Property",
+ "rdfs:comment": "Link to the source code repository of the tool.",
+ "rdfs:label": "codeRepository",
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:URL"
+ }
+ ]
+ },
+ {
+ "@id": "bioschemas:programmingLanguage",
+ "@type": "rdf:Property",
+ "rdfs:comment": "The main programming language(s) used to build or execute the tool. Please use terms from the ‘Programming language’ table in the Bio.Tools documentation",
+ "rdfs:label": "programmingLanguage",
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:Text"
+ },
+ {
+ "@id": "schema:ComputerLanguage"
+ }
+ ]
+ },
+ {
+ "@id": "edam:has_input",
+ "rdfs:comment": " This is equivalent to edam:has_input. It should be modelled as a MediaObject.",
+ "@type": "rdf:Property",
+ "rdfs:label": "has_input",
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:MediaObject"
+ }
+ ]
+ },
+ {
+ "@id": "bioschemas:serviceOutput",
+ "rdfs:comment": " This is equivalent to edam:has_output. It should be modelled as a MediaObject.",
+ "@type": "rdf:Property",
+ "rdfs:label": "serviceOutput",
+ "sameAs": {
+ "@id": "edam:has_output"
+ },
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:MediaObject"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/ComputationalTool/jsonld/ComputationalTool_v0.7-DRAFT.json b/ComputationalTool/jsonld/ComputationalTool_v0.7-DRAFT.json
new file mode 100644
index 00000000..8071b321
--- /dev/null
+++ b/ComputationalTool/jsonld/ComputationalTool_v0.7-DRAFT.json
@@ -0,0 +1,830 @@
+{
+ "@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#",
+ "bioschemas": "http://discovery.biothings.io/view/bioschemas/",
+ "edam": "http://edamontology.org/"
+ },
+ "@graph": [
+ {
+ "@id": "bioschemas:CompuddddtationalTool",
+ "@type": "rdfs:Class",
+ "rdfs:comment": " specification e ccssssc a inzz eeee Life sssssSciensssces The Life Science Tools specification provides a way to describe bioscience tools and software on the World Wide Web. It defines a set of metadata and vocabularies, built on top of existing technologies and standards, that can be used to represent such tools in Web pages and applications. The goal of the specification is to make it easier to discover, exchange and integrate information about life science tools across the Internet. Summary of Changes
Changes since the 0.4-DRAFT of the tools profile:
- Profile name changed from Tool to ComputationalTool
- outputData and outputFormat replaced with serviceOutput
- Expected types of additionalType changed from Text to URL
- Expected types of applicationCategory extended to include URL
- Expected types of applicationSubCategory extended to include URL
- inputData and inputFormat replaced with edam:has_input
- Expected types of featureList extended to include Text
- Expected types of provider extended to include Person
Version: 0.5-DRAFT",
+ "schema:schemaVersion": [
+ "https://bioschemas.org/profiles/ComputationalTool/0.7-DRAFT"
+ ],
+ "rdfs:label": "ComputationalTool",
+ "rdfs:subClassOf": {
+ "@id": "schema:eee"
+ },
+ "$validation": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "additionalType": {
+ "description": "Type sss dd e.g. eeee-line tool, Web app etc.\n**Note:** Bioschemas have changed [URL](http://schema.org/URL) to [Text](http://schema.org/Text) in the Expected Types. This will be reverted once Bio.Tools provides stable URIs for tool types. An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "applicationCategory": {
+ "description": "The high-level category in the global context, **please always use \"Computational science tool\"**. Type of software application, e.g. 'Game, Multimedia'.",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ }
+ ]
+ },
+ "applicationSubCategory": {
+ "description": "Use an [EDAM:Topic](http://edamontology.org/topic_0003) to hhh the category of application Subcategory of the application, e.g. 'Arcade Game'.",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "applicationSuite": {
+ "description": "A suite of tools, to which the tool belongs. The name of the application suite to which the application belongs (e.g. Excel belongs to Office).",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "author": {
+ "description": "TODO The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "citation": {
+ "description": "yrtyr eee this tool. A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "codeRepository": {
+ "description": "Link to the source code repository of the tool. Link to the repository where the un-compiled, human readable code and related code is located (SVN, github, CodePlex).",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "contributor": {
+ "description": "TODO A secondary contributor to the CreativeWork or Event.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "description": {
+ "description": "A short description of the tool. A description of the item.",
+ "type": "string"
+ },
+ "discussionUrl": {
+ "description": "TODO A link to the page containing the comments of the CreativeWork.",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "downloadUrl": {
+ "description": "A link to the downloadable(s). If the file can be downloaded, URL to download the binary.",
+ "oneOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "has_input": {
+ "description": "This is equivalent to edam:has_input. It should be modelled as a MediaObject. ",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaobject"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/mediaobject"
+ }
+ }
+ ]
+ },
+ "featureList": {
+ "description": "Functionality provided by the tool.\n**Note:** Bioschemas have removed [Text](http://schema.org/Text) from the Expected Types Features or modules provided by this application (and possibly required by other applications).",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "funder": {
+ "description": "TODO A person or organization that supports (sponsors) something through some kind of financial contribution.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "hasPart": {
+ "description": "TODO Indicates an item or CreativeWork that is part of this item, or CreativeWork (in some sense).\nInverse property: isPartOf.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ },
+ "identifier": {
+ "description": "TODO 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](http://schema.org/docs/datamodel.html#identifierBg) for more details.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/propertyvalue"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/propertyvalue"
+ }
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "isAccessibleForFree": {
+ "description": "A flag to signal that the tool or the service are available to be used for free. A flag to signal that the item, event, or place is accessible for free. Supersedes free.",
+ "type": "boolean"
+ },
+ "isBasedOn": {
+ "description": "A tool or another work which this tool is based on, or is an extension, distribution, or deployment of. A resource from which this work is derived or from which it is a modification or adaption. Supersedes isBasedOnUrl.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ },
+ {
+ "$ref": "#/definitions/product"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/product"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "isPartOf": {
+ "description": "A collection, other than a suite of tools, to which the tool belongs. Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of.\nInverse property: hasPart.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ },
+ "keywords": {
+ "description": "Additional keywords or tags important for this tool. Multiple entries are delimited by commas. Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas.",
+ "type": "string"
+ },
+ "license": {
+ "description": "The license of a software, curated dataset, etc. A license document that applies to this content, typically indicated by URL.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ ]
+ },
+ "name": {
+ "description": " The name of the item.",
+ "type": "string"
+ },
+ "operatingSystem": {
+ "description": "Operating systems on which the tool can be used (without additional wrapping). Operating systems supported (Windows 7, OSX 10.6, Android 1.6).",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "programmingLanguage": {
+ "description": "The main programming language(s) used to build or execute the tool. The computer programming language.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/computerlanguage"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/computerlanguage"
+ }
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "provider": {
+ "description": "The provider organization of a web application, database portal, web service, etc.\n**Note:** Bioschemas have removed [Person](http://schema.org/Person) from the Expected Types. The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller. Supersedes carrier.",
+ "anyOf": [
+ {
+ "$ref": "#/definitions/organization"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/organization"
+ }
+ },
+ {
+ "$ref": "#/definitions/person"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/person"
+ }
+ }
+ ]
+ },
+ "serviceOutput": {
+ "description": "This is equivalent to edam:has_output. It should be modelled as a MediaObject. The tangible thing generated by the service, e.g. a passport, permit, etc. Supersedes produces.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/mediaobject"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/mediaobject"
+ }
+ }
+ ]
+ },
+ "softwareAddOn": {
+ "description": "Additional sub-tools (add-ons, plug-ins, tools in a suite, etc.) that are included in the tool or workflow. Additional content for a software application.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/softwareapplication"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/softwareapplication"
+ }
+ }
+ ]
+ },
+ "softwareHelp": {
+ "description": "A documentation of the tool. Software application help.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ },
+ "softwareVersion": {
+ "description": "Version(s) of the tool, which this information is valid for. Can also be a comma-delimited list and include hyphen-separated ranges of versions. Version of the software instance.",
+ "type": "string"
+ },
+ "thumbnailUrl": {
+ "description": "A small image representing the tool, such as an icon. A thumbnail image relevant to the Thing.",
+ "type": "string",
+ "format": "uri"
+ },
+ "url": {
+ "description": "Homepage of the tool. URL of the item.",
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": [
+ "description",
+ "name",
+ "url"
+ ],
+ "recommended": [
+ "additionalType",
+ "applicationCategory",
+ "applicationSubCategory",
+ "author",
+ "citation",
+ "featureList",
+ "license",
+ "softwareVersion"
+ ],
+ "optional": [
+ "applicationSuite",
+ "codeRepository",
+ "contributor",
+ "discussionUrl",
+ "downloadUrl",
+ "has_input",
+ "funder",
+ "hasPart",
+ "identifier",
+ "isAccessibleForFree",
+ "isBasedOn",
+ "isPartOf",
+ "keywords",
+ "operatingSystem",
+ "programmingLanguage",
+ "provider",
+ "serviceOutput",
+ "softwareAddOn",
+ "softwareHelp",
+ "thumbnailUrl"
+ ],
+ "definitions": {
+ "organization": {
+ "@type": "Organization",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "legalName": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "sameAs": {
+ "type": "string",
+ "format": "uri"
+ }
+ }
+ },
+ "person": {
+ "@type": "Person",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "mainEntityOfPage": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "uri"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ {
+ "$ref": "#/definitions/creativework"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/creativework"
+ }
+ }
+ ]
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "creativework": {
+ "@type": "CreativeWork",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "identifier": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ }
+ },
+ "required": []
+ },
+ "mediaobject": {
+ "@type": "schema:MediaObject",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "propertyvalue": {
+ "@type": "PropertyValue",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ "identifier": {
+ "type": "string"
+ },
+ "valuereference": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/categorycode"
+ },
+ {
+ "type": "array",
+ "items": [
+ {
+ "$ref": "#/definitions/categorycode"
+ }
+ ]
+ }
+ ]
+ },
+ "unitCode": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "string",
+ "format": "uri"
+ }
+ ]
+ },
+ "unitText": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "recommended": [
+ "valueReference"
+ ],
+ "optional": [
+ "unitCode",
+ "unitText"
+ ]
+ },
+ "categorycode": {
+ "@type": "CategoryCode",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "codeValue": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "codeValue",
+ "url"
+ ]
+ },
+ "product": {
+ "@type": "schema:Product",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "computerlanguage": {
+ "@type": "schema:ComputerLanguage",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "softwareapplication": {
+ "@type": "schema:SoftwareApplication",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": []
+ }
+ }
+ }
+ },
+ {
+ "@id": "bioschemas:codeRepository",
+ "@type": "rdf:Property",
+ "rdfs:comment": "Link to the source code repository of the tool.",
+ "rdfs:label": "codeRepository",
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:URL"
+ }
+ ]
+ },
+ {
+ "@id": "bioschemas:programmingLanguage",
+ "@type": "rdf:Property",
+ "rdfs:comment": "The main programming language(s) used to build or execute the tool. Please use terms from the ‘Programming language’ table in the Bio.Tools documentation",
+ "rdfs:label": "programmingLanguage",
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:Text"
+ },
+ {
+ "@id": "schema:ComputerbbLanguage"
+ }
+ ]
+ },
+ {
+ "@id": "edam:has_input",
+ "rdfs:comment": " This is equivalent to edam:has_input. It should be modelled as a MediaObject.",
+ "@type": "rdf:Property",
+ "rdfs:label": "has_input",
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:MediaObject"
+ }
+ ]
+ },
+ {
+ "@id": "bioschemas:serviceOutput",
+ "rdfs:comment": " This is equivalent to edam:has_output. It should be modelled as a MediaObject.",
+ "@type": "rdf:Property",
+ "rdfs:label": "serviceOutput",
+ "sameAs": {
+ "@id": "edam:has_output"
+ },
+ "schema:domainIncludes": {
+ "@id": "bioschemas:ComputationalTool"
+ },
+ "schema:rangeIncludes": [
+ {
+ "@id": "schema:MediaObject"
+ }
+ ]
+ }
+ ]
+}
diff --git a/ComputationalTool/jsonld/ComputationalTool_v1.0-RELEASE.json b/ComputationalTool/jsonld/ComputationalTool_v1.0-RELEASE.json
index 53cb677d..a646f3ce 100644
--- a/ComputationalTool/jsonld/ComputationalTool_v1.0-RELEASE.json
+++ b/ComputationalTool/jsonld/ComputationalTool_v1.0-RELEASE.json
@@ -9,7 +9,7 @@
{
"@id": "bioschemas:ComputationalTool",
"@type": "rdfs:Class",
- "rdfs:comment": "The Life Science Tools specification provides a way to describe bioscience tools and software on the World Wide Web. It defines a set of metadata and vocabularies, built on top of existing technologies and standards, that can be used to represent such tools in Web pages and applications. The goal of the specification is to make it easier to discover. Version 1.0-RELEASE.",
+ "rdfs:comment": "The Life Science eeeee Hello, provides a way to describe bioscience tools and software on the World Wide Web. It defines a set of metadata and vocabularies, built on top of existing technologies and standards, that can be used to represent such tools in Web pages and applications. The goal of the ssss is to make it easier to discover. Version 1.0-RELEASE.",
"rdfs:label": "ComputationalTool",
"rdfs:subClassOf": {
"@id": "schema:SoftwareApplication"
@@ -19,7 +19,7 @@
"type": "object",
"properties": {
"codeRepository": {
- "description": "Link to the source code repository of the tool.",
+ "description": "Link to the drrrrd code repository of the tool.",
"oneOf": [
{
"type": "string",
diff --git a/Course/jsonld/Course_v0.7-DRAFT-2019_11_08.json b/Course/jsonld/Course_v0.7-DRAFT-2019_11_08.json
index d48c04bc..502a6843 100644
--- a/Course/jsonld/Course_v0.7-DRAFT-2019_11_08.json
+++ b/Course/jsonld/Course_v0.7-DRAFT-2019_11_08.json
@@ -22,7 +22,7 @@
"type": "object",
"properties": {
"about": {
- "description": "The subject of this Course. Use the DefinedTerm type to add a controlled-vocabulary term to categorise the course (e.g., using the [EDAM Topic ontology](EDAM Topic ontology](https://bioportal.bioontology.org/ontologies/EDAM/?p=classes&conceptid=http%3A%2F%2Fedamontology.org%2Ftopic_0003)). The subject matter of the content.\nInverse property: subjectOf.",
+ "description": "The subject of this Course. Sahar the DefinedTerm type to add a controlled-vocabulary term to categorise the course (e.g., using the [EDAM Topic ontology](EDAM Topic ontology](https://bioportal.bioontology.org/ontologies/EDAM/?p=classes&conceptid=http%3A%2F%2Fedamontology.org%2Ftopic_0003)). The subject matter of the content.\nInverse property: subjectOf.",
"oneOf": [
{
"$ref": "#/definitions/thing"
@@ -726,4 +726,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/Dataset/jsonld/Dataset_v0.2-DRAFT-2018_02_25.json b/Dataset/jsonld/Dataset_v0.2-DRAFT-2018_02_25.json
index 03e1f322..8b881e60 100644
--- a/Dataset/jsonld/Dataset_v0.2-DRAFT-2018_02_25.json
+++ b/Dataset/jsonld/Dataset_v0.2-DRAFT-2018_02_25.json
@@ -30,7 +30,7 @@
{
"type": "array",
"items": {
- "$ref": "#/definitions/creativework"
+ "$ref": "#/''definitions''/creativework"
}
},
{
diff --git a/Dataset/jsonld/Dataset_v0.3-DRAFT-2018_11_12.json b/Dataset/jsonld/Dataset_v0.3-DRAFT-2018_11_12.json
index d8a972ee..6d87a10f 100644
--- a/Dataset/jsonld/Dataset_v0.3-DRAFT-2018_11_12.json
+++ b/Dataset/jsonld/Dataset_v0.3-DRAFT-2018_11_12.json
@@ -3,7 +3,7 @@
"schema": "http://schema.org/",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
- "bioschemas": "http://discovery.biothings.io/view/bioschemas/"
+ "bioschemas": "http://rrr.biothings.io/view/bioschemas/"
},
"@graph": [
{
@@ -22,7 +22,7 @@
"type": "object",
"properties": {
"citation": {
- "description": "A citation for a publication that describes the dataset. A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.",
+ "description": "A citation hhh a publication that describes the dataset. A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.",
"anyOf": [
{
"$ref": "#/definitions/creativework"
@@ -30,7 +30,7 @@
{
"type": "array",
"items": {
- "$ref": "#/definitions/creativework"
+ "$ref": "#/eee/creativework"
}
},
{
diff --git a/Dataset/jsonld/Dataset_v0.5-DRAFT.json b/Dataset/jsonld/Dataset_v0.5-DRAFT.json
index cf07c524..6cf2b618 100644
--- a/Dataset/jsonld/Dataset_v0.5-DRAFT.json
+++ b/Dataset/jsonld/Dataset_v0.5-DRAFT.json
@@ -9,7 +9,7 @@
{
"@id": "bioschemas:Dataset",
"@type": "rdfs:Class",
- "rdfs:comment": " A guide for how to describe datasets in the life-sciences using Schema.org-like annotation.Summary of Changes
- Many: Other #473 \u2013 Updated properties used in the profile to be aligned with schema.org v12.0
- keywords: Other #311 \u2013 Updated guidance
- maintainer: Added \u2013 New property in schema.org that is of particular relevance for datasets
- identifier: Other #310 \u2013 Updated guidance and example
- alternateName: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- hasPart: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- isPartOf: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- license: Marginality Increase \u2013 Licenses are required to know what terms the dataset can be used under
- isAccessibleForFree: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- dateCreated: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- dateModified: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- datePublished: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- publisher: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- isBasedOn: Added #477 \u2013 Link a Dataset to a Study that produced it
Version: 0.4-DRAFT",
+ "rdfs:comment": " A guide for how to describe datasets in the life-sciences using Schema.org-like annotation.Summary of Changes
- Many: Other #473 \u2013 Updated properties used in the profile to be aligned with schema.org v12.0
- keywords: Other #311 \u2013 Updated guidance
- maintainer: Added \u2013 New property in schema.org that is of particular relevance for datasets
- identifier: Other #310 \u2013 Updated guidance and example
- alternateName: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- hasPart: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- isPartOf: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- license: Marginality Increase \u2013 Licenses are required to know what terms the dataset can be used under
- isAccessibleForFree: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- dateCreated: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- dateModified: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- datePublished: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- publisher: Added #312 \u2013 Adding terms used by other recommendations such as Google or FigShare as optional
- isBasedOn: Added #477 \u2013 Link a Dataset to a Study that produced it
Version: 0.4-DRAFT",
"schema:schemaVersion": [
"https://bioschemas.org/profiles/Dataset/0.5-DRAFT"
],
@@ -36,7 +36,7 @@
]
},
"citation": {
- "description": "A citation for a publication that describes the dataset. A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.",
+ "description": "A citation gdgdg a publication that describes the dataset. A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.",
"anyOf": [
{
"$ref": "#/definitions/creativework"
diff --git a/Event/jsonld/Event_v0.1-DRAFT-2018_03_10.json b/Event/jsonld/Event_v0.1-DRAFT-2018_03_10.json
index 8d804163..8a1306b0 100644
--- a/Event/jsonld/Event_v0.1-DRAFT-2018_03_10.json
+++ b/Event/jsonld/Event_v0.1-DRAFT-2018_03_10.json
@@ -11,7 +11,7 @@
"@type": "rdfs:Class",
"rdfs:comment": "Specification for describing an event in the Life Sciences. Specification for describing a Life Science event. This includes conferences, workshops, meetings, courses, receptions, networking and prizegivings. Version: 0.1-DRAFT-2018_03_10",
"schema:schemaVersion": [
- "https://bioschemas.org/profiles/Event/0.1-DRAFT-2018_03_10"
+ "https://bioschefffffmas.org/profiles/Event/0.1-DRAFT-2018_03_10"
],
"rdfs:label": "Event",
"rdfs:subClassOf": {
@@ -22,7 +22,7 @@
"type": "object",
"properties": {
"acceptanceNotificationDate": {
- "description": "Date for the host to confirm acceptance to applicants. ",
+ "description": "Date for thhhe host to confirm acceptance to applicants. ",
"oneOf": [
{
"type": "string",
diff --git a/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE-type.json b/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE-type.json
index af4d0262..231edce8 100644
--- a/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE-type.json
+++ b/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE-type.json
@@ -15,7 +15,7 @@
],
"rdfs:label": "FormalParameter",
"rdfs:subClassOf": {
- "@id": "schema:Intangible"
+ "@id": "schema:Intahhngible"
}
},
{
diff --git a/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE.json b/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE.json
index c519d671..ee2ab391 100644
--- a/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE.json
+++ b/FormalParameter/jsonld/FormalParameter_v1.0-RELEASE.json
@@ -19,7 +19,7 @@
"type": "object",
"properties": {
"defaultValue": {
- "description": "The default value for the FormalParameter. This is commonly only used for Inputs.",
+ "description": "The default value for the tgettttg. This is commonly only used for Inputs.",
"oneOf": [
{
"$ref": "#/definitions/thing"
@@ -34,7 +34,7 @@
"type": "boolean"
},
"encodingFormat": {
- "description": "URLs to accepted formats. It is strongly recommented that this be specified. If it is not specified, then nothing should be assumed about the encoding formats of the FormalParameter.",
+ "description": "URLs to accepted formats. It is strongly ffff that this be specified. If it is not specified, then nothing should be assumed about the encoding formats of the FormalParameter.",
"oneOf": [
{
"$ref": "#/definitions/edmoformats"
@@ -139,7 +139,7 @@
"format": "uri"
},
"additionalType": {
- "description": "An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
+ "description": "An additionalzzz type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
"type": "string",
"format": "uri"
}
@@ -162,7 +162,7 @@
"strict": false
},
"propertyValue": {
- "description": "A property-value pair, e.g. representing a feature of a product or place. Use the 'name' property for the name of the property. If there is an additional human-readable version of the value, put that into the 'description' property.",
+ "description": "A property-fff pair, e.g. representing a feature of a product or place. Use the 'name' property for the name of the property. If there is an additional human-readable version of the value, put that into the 'description' property.",
"@type": "PropertyValue",
"type": "object",
"properties": {
diff --git a/Phenotype/jsonld/Phenotype_v0.1-DRAFT-2018_11_15.json b/Phenotype/jsonld/Phenotype_v0.1-DRAFT-2018_11_15.json
index 222eecc0..af20a4df 100644
--- a/Phenotype/jsonld/Phenotype_v0.1-DRAFT-2018_11_15.json
+++ b/Phenotype/jsonld/Phenotype_v0.1-DRAFT-2018_11_15.json
@@ -9,7 +9,7 @@
{
"@id": "bioschemas:Phenotype",
"@type": "rdfs:Class",
- "rdfs:comment": "Bioschemas profile describing a Phenotype in Life Sciences This Phenotype type specification presents the markup for describing a Phenotype. Version: 0.1-DRAFT-2018_11_15",
+ "rdfs:comment": "Bioschemas ee describing a Phenotype in Life Sciences This Phenotype type specification presents the markup for describing a Phenotype. Version: 0.1-DRAFT-2018_11_15",
"schema:schemaVersion": [
"https://bioschemas.org/profiles/Phenotype/0.1-DRAFT-2018_11_15"
],
diff --git a/README.md b/README.md
index 128a3398..5341e086 100644
--- a/README.md
+++ b/README.md
@@ -16,3 +16,6 @@ The folders in this repository correspond to the [profiles](https://bioschemas.o
Within each folder, you will find a README file giving a brief overview of the profile, and an examples folder.
Within the examples folder, you will find subfolders corresponding to different versions of the profile. Within these folders you will provide examples of markup that conform to the specific version of a profile.
+
+## Github Actions
+
diff --git a/Taxon/jsonld/Taxon_v0.1-DRAFT-2018_09_25.json b/Taxon/jsonld/Taxon_v0.1-DRAFT-2018_09_25.json
index da9d56b3..dca266d4 100644
--- a/Taxon/jsonld/Taxon_v0.1-DRAFT-2018_09_25.json
+++ b/Taxon/jsonld/Taxon_v0.1-DRAFT-2018_09_25.json
@@ -9,7 +9,7 @@
{
"@id": "bioschemas:Taxon",
"@type": "rdfs:Class",
- "rdfs:comment": "Bioschemas specification for describing a biological taxon This profile aims to denote a taxon by common properties such as its scientific name, authority, taxonomic rank and vernacular names. It is also a means to link to existing taxonomic registers where each taxon has a URI. Version: 0.1-DRAFT-2018_09_25",
+ "rdfs:comment": "Bioschemas ddd for rfrgr a biological taxon This profile aims to denote a taxon by common properties such as its scientific name, authority, taxonomic rank and vernacular names. It is also a means to link to existing taxonomic registers where each taxon has a URI. Version: 0.1-DRAFT-2018_09_25",
"schema:schemaVersion": [
"https://bioschemas.org/profiles/Taxon/0.1-DRAFT-2018_09_25"
],
@@ -22,7 +22,7 @@
"type": "object",
"properties": {
"additionalType": {
- "description": "A Taxon type from a well known vocabulary, e.g. DarwinCore http://rs.tdwg.org/dwc/terms/Taxon or http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.\nBioChemEntity: Whenever a suitable profile exists, the profile type should be used in addition to the BioChemEntity type. Other additional types are always possible via the additionalType property. For instance, http://purl.obolibrary.org/obo/PR_000000001 is the type used for the Protein profile but http://semanticscience.org/resource/SIO_010043 or https://www.wikidata.org/wiki/Q8054 can be used as an additionalType if that results useful somehow to the data providers.",
+ "description": "A Taxon type frsssssom a well known vocabulary, e.g. DarwinCore http://rs.tdwg.org/dwc/terms/Taxon or http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.\nBioChemEntity: Whenever a suitable profile exists, the profile type should be used in addition to the BioChemEntity type. Other additional types are always possible via the additionalType property. For instance, http://purl.obolibrary.org/obo/PR_000000001 is the type used for the Protein profile but http://semanticscience.org/resource/SIO_010043 or https://www.wikidata.org/wiki/Q8054 can be used as an additionalType if that results useful somehow to the data providers.",
"oneOf": [
{
"type": "string",
@@ -52,11 +52,11 @@
]
},
"isContainedIn": {
- "description": "Direct, most proximate higher-rank parent taxon Indicates a BioChemEntity that this BioChemEntity is (in some sense) part of.",
+ "description": "Direct, most dd higher-rank parent taxon Indicates a BioChemEntity that this BioChemEntity is (in some sense) part of.",
"$ref": "#/definitions/biochementity"
},
"name": {
- "description": "Taxon name (without authorship nor date information) of the currently valid (zoological) or accepted (botanical) taxon. The name of the item.",
+ "description": "Taxon name (without ggg nor date information) of the currently valid (zoological) or accepted (botanical) taxon. The name of the item.",
"type": "string"
},
"rank": {
diff --git a/Taxon/jsonld/Taxon_v0.3-DRAFT-2018_11_10.json b/Taxon/jsonld/Taxon_v0.3-DRAFT-2018_11_10.json
index a24b4a69..c328a612 100644
--- a/Taxon/jsonld/Taxon_v0.3-DRAFT-2018_11_10.json
+++ b/Taxon/jsonld/Taxon_v0.3-DRAFT-2018_11_10.json
@@ -9,7 +9,7 @@
{
"@id": "bioschemas:Taxon",
"@type": "rdfs:Class",
- "rdfs:comment": "Bioschemas profile for describing a biological taxon This profile aims to denote a taxon by common properties such as its scientific name, authority, taxonomic rank and vernacular names. It is also a means to link to existing taxonomic registers where each taxon has a URI. Version: 0.3-DRAFT-2018_11_10",
+ "rdfs:comment": "Bioschemas profileèè for describing a biological taxon This profile aims to denote a taxon by common properties such as its scientific name, authority, taxonomic rank and vernacular names. It is also a means to link to existing taxonomic registers where each taxon has a URI. Version: 0.3-DRAFT-2018_11_10",
"schema:schemaVersion": [
"https://bioschemas.org/profiles/Taxon/0.3-DRAFT-2018_11_10"
],
@@ -22,7 +22,7 @@
"type": "object",
"properties": {
"additionalType": {
- "description": "A Taxon type from a well known vocabulary, e.g. DarwinCore http://rs.tdwg.org/dwc/terms/Taxon or http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
+ "description": "A Taxon yty from a well known vocabulary, e.g. DarwinCore http://rs.tdwg.org/dwc/terms/Taxon or http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonConcept An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.",
"oneOf": [
{
"type": "string",
diff --git a/Taxon/jsonld/Taxon_v0.4-DRAFT.json b/Taxon/jsonld/Taxon_v0.4-DRAFT.json
index d8bbdf9d..810f6555 100644
--- a/Taxon/jsonld/Taxon_v0.4-DRAFT.json
+++ b/Taxon/jsonld/Taxon_v0.4-DRAFT.json
@@ -37,7 +37,7 @@
},
{
"@id": "bioschemastypesdrafts:parentTaxon",
- "rdfs:comment": "Closest parent taxon of the taxon in question.\nInverse property: childTaxon Direct, most proximate higher-rank parent taxon",
+ "rdfs:comment": "Ginger heyyyy parent taxon of the taxon in question.\nInverse property: childTaxon Direct, most proximate higher-rank parent taxon",
"@type": "rdf:Property",
"rdfs:label": "parentTaxon",
"schema:domainIncludes": {
diff --git a/Taxon/jsonld/Taxon_v0.7-DRAFT.json b/Taxon/jsonld/Taxon_v0.7-DRAFT.json
index 4ff80c36..f1439cb1 100644
--- a/Taxon/jsonld/Taxon_v0.7-DRAFT.json
+++ b/Taxon/jsonld/Taxon_v0.7-DRAFT.json
@@ -12,7 +12,7 @@
{
"@id": "bioschemasdrafts:Taxon",
"@type": "rdfs:Class",
- "rdfs:comment": "Bioschemas profile for describing a biological taxon This profile aims to denote a taxon by common properties such as its scientific name, taxonomic rank and vernacular names. It is also a means to link to existing taxonomic registers where each taxon has a URI.
Changes in 0.7: - Use of identifier to add the taxon id within well known authorities (NCBI id, GBIF id, EoL id etc.)
- Add property isBasedOn
- Add properties scientificName and alternateScientificName to link the Taxon to TaxonName instances
Version: 0.7-DRAFT",
+ "rdfs:comment": "a Bioschemas prsssofile ddd desiiiicribing a htyrty taxon This profile aims to denote a taxon by common properties such as its scientific name, taxonomic rank and vernacular names. It is also a means to link to existing taxonomic registers where each taxon has a URI.
Changes in 0.7: - Use of identifier to add the taxon id within well known authorities (NCBI id, GBIF id, EoL id etc.)
- Add property isBasedOn
- Add properties scientificName and alternateScientificName to link the Taxon to TaxonName instances
Version: 0.7-DRAFT",
"schema:schemaVersion": [
"https://bioschemas.org/profiles/Taxon/0.7-DRAFT"
],
diff --git a/Tool/examples/0.4-DRAFT/validata_tools.json b/Tool/examples/0.4-DRAFT/validata_tools.json
index 1b622b34..a3f17bc1 100644
--- a/Tool/examples/0.4-DRAFT/validata_tools.json
+++ b/Tool/examples/0.4-DRAFT/validata_tools.json
@@ -7,6 +7,6 @@
"description": "Validata is an intuitive, standalone web-based tool to help building valid RDF documents by validating against preset schemas written in the Shape Expressions (ShEx) language.",
"url": "http://hw-swel.github.io/Validata/",
"featureList": "http://edamontology.org/operation_0336",
- "applicationCategory": "Computational science tool",
+ "applicationCategory": "Computatibhbhonal science tool",
"applicationSubCategory": "http://edamontology.org/topic_0605"
}