Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/cross_repo_linking.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ related_media:
### SPARQL: Find Media for Peatland Communities

```sparql
PREFIX cm: <https://w3id.org/culturebot-ai/communitymech/>
PREFIX cm: <https://w3id.org/communitymech/>

SELECT ?community_name ?media_name ?culturemech_id ?relationship
WHERE {
Expand All @@ -203,7 +203,7 @@ WHERE {
### SPARQL: Find Ingredients for an Environment

```sparql
PREFIX cm: <https://w3id.org/culturebot-ai/communitymech/>
PREFIX cm: <https://w3id.org/communitymech/>

SELECT ?community_name ?ingredient ?mim_id ?relevance
WHERE {
Expand All @@ -219,7 +219,7 @@ WHERE {
### SPARQL: Full Cross-Repo Join via Shared ENVO Terms

```sparql
PREFIX cm: <https://w3id.org/culturebot-ai/communitymech/>
PREFIX cm: <https://w3id.org/communitymech/>
PREFIX cult: <https://w3id.org/culturebot-ai/culturemech/>
PREFIX mim: <https://w3id.org/culturebot-ai/mediaingredientmech/>

Expand All @@ -240,7 +240,7 @@ WHERE {
### SPARQL: Reverse Lookup -- Communities for a CultureMech Medium

```sparql
PREFIX cm: <https://w3id.org/culturebot-ai/communitymech/>
PREFIX cm: <https://w3id.org/communitymech/>

SELECT ?community_name ?environment ?relationship
WHERE {
Expand Down
34 changes: 34 additions & 0 deletions kb/communities/SPRUCE_Peatland_Methane_Cycling_Community.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,40 @@ environmental_factors:
to the peatland's CH4/CO2 carbon-chemistry gradient and depth/water structure -
reinforcing peat chemistry (alongside the existing pH/TOC quantification) as a
principal driver of community composition.
related_ingredients:
- preferred_term: humic substances
chebi_term:
id: CHEBI:34818
label: humic acid
relevance: Peat soil organic matter serves as an electron-acceptor pool that
sustains anaerobic respiration alongside methanogenesis at SPRUCE; humic
substances are the dominant electron-accepting fraction of that pool.
evidence:
- reference: PMID:40715043
supports: SUPPORT
evidence_source: COMPUTATIONAL
snippet: acquire electron acceptors from soil organic matter
explanation: The paper's headline claim links the SPRUCE peat microbial
community to soil-organic-matter electron acceptors, the humic-substance
fraction of which would anchor any environment-analog medium for this
community.
- preferred_term: acetate
chebi_term:
id: CHEBI:30089
label: acetate
relevance: Acetate accumulates in deep peat from acetogenic Wood-Ljungdahl
activity and is the dominant substrate for acetoclastic methanogenesis at
the bog surface, so any cultivation medium designed around SPRUCE
methanogens would need acetate as a primary carbon and energy source.
evidence:
- reference: PMID:40715043
supports: SUPPORT
evidence_source: COMPUTATIONAL
snippet: the genomic potential for acetogenesis via the Wood-Ljungdahl pathway
continues to increase, resulting in the highest concentrations of acetate
in the deep peat
explanation: Anchors acetate as the dominant environmentally relevant
organic acid in SPRUCE peat porewater.
associated_datasets:
- name: SPRUCE peat metagenomes
dataset_type: METAGENOME
Expand Down
6 changes: 3 additions & 3 deletions src/communitymech/datamodel/communitymech.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Auto generated from communitymech.yaml by pythongen.py version: 0.0.1
# Generation date: 2026-05-16T01:52:45
# Generation date: 2026-05-23T01:23:35
# Schema: communitymech
#
# id: https://w3id.org/culturebot-ai/communitymech
# id: https://w3id.org/communitymech
# description: Schema for modeling microbial community structure, function, and ecological interactions
# license: BSD-3-Clause

Expand Down Expand Up @@ -36,7 +36,7 @@
NCBITAXON = CurieNamespace("NCBITaxon", "http://purl.obolibrary.org/obo/NCBITaxon_")
PMID = CurieNamespace("PMID", "http://www.ncbi.nlm.nih.gov/pubmed/")
UBERON = CurieNamespace("UBERON", "http://purl.obolibrary.org/obo/UBERON_")
COMMUNITYMECH = CurieNamespace("communitymech", "https://w3id.org/culturebot-ai/communitymech/")
COMMUNITYMECH = CurieNamespace("communitymech", "https://w3id.org/communitymech/")
DOI = CurieNamespace("doi", "https://doi.org/")
LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/")
XSD = CurieNamespace("xsd", "http://www.w3.org/2001/XMLSchema#")
Expand Down
4 changes: 2 additions & 2 deletions src/communitymech/schema/communitymech.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
id: https://w3id.org/culturebot-ai/communitymech
id: https://w3id.org/communitymech
name: communitymech
title: Microbial Community Mechanisms Knowledge Base Schema
description: Schema for modeling microbial community structure, function, and ecological interactions
Expand All @@ -11,7 +11,7 @@ imports:

prefixes:
linkml: https://w3id.org/linkml/
communitymech: https://w3id.org/culturebot-ai/communitymech/
communitymech: https://w3id.org/communitymech/
NCBITaxon: http://purl.obolibrary.org/obo/NCBITaxon_
ENVO: http://purl.obolibrary.org/obo/ENVO_
CHEBI: http://purl.obolibrary.org/obo/CHEBI_
Expand Down
42 changes: 42 additions & 0 deletions w3id/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# w3id.org redirect for CommunityMech

This directory stages the upstream pull request to
[perma-id/w3id.org](https://github.com/perma-id/w3id.org) that registers
`https://w3id.org/communitymech/` as a permanent identifier prefix for
CommunityMech CURIEs.

## Files

- `communitymech/.htaccess` — redirect rules. Copy verbatim to
`communitymech/.htaccess` in a fork of `perma-id/w3id.org` and open a PR.

## Resolution targets

| URL | Target |
|--------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| `https://w3id.org/communitymech/` | `https://culturebotai.github.io/CommunityMech/` |
| `https://w3id.org/communitymech/<Name>` | `https://culturebotai.github.io/CommunityMech/communities/<Name>.html` |
| `https://w3id.org/communitymech/<Name>.html` | same as above |
| `https://w3id.org/communitymech/<Name>.yaml` | `https://raw.githubusercontent.com/CultureBotAI/CommunityMech/main/kb/communities/<Name>.yaml` |
| `https://w3id.org/communitymech/schema/communitymech.yaml` | `https://raw.githubusercontent.com/CultureBotAI/CommunityMech/main/src/communitymech/schema/communitymech.yaml` |

`<Name>` is the community filename slug (e.g., `EcoFAB_Ring_Trial_SynCom17`)
that matches `kb/communities/<Name>.yaml`. CommunityMech also assigns each
record a numeric identifier (`CommunityMech:NNNNNN`) which is recorded in
the YAML body but not used as the URL path component.

## Schema prefix update

The LinkML schema's `communitymech` prefix was shortened from
`https://w3id.org/culturebot-ai/communitymech/` to
`https://w3id.org/communitymech/` in the same change that added this
directory, so that the registered redirect matches the schema.

## Submission

1. Fork `perma-id/w3id.org`.
2. Copy `communitymech/` from this directory into the fork root.
3. Open a PR following the contribution guidelines in that repo
(`CONTRIBUTING.md`). Use this directory's README as PR context.

Issue: [CultureBotAI/CommunityMech#12](https://github.com/CultureBotAI/CommunityMech/issues/12)
35 changes: 35 additions & 0 deletions w3id/communitymech/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Redirect rules for https://w3id.org/communitymech/
#
# Owner: CultureBotAI (https://github.com/CultureBotAI)
# Contact: marcinjoachimiak@gmail.com
# Source repo: https://github.com/CultureBotAI/CommunityMech
#
# Pattern summary:
# / -> CommunityMech docs landing page
# /<Name> -> Per-community HTML page on github.io
# /<Name>.html -> Same as /<Name>, idempotent
# /<Name>.yaml -> Source YAML on GitHub raw
# /schema/communitymech.yaml -> LinkML schema source
#
# CommunityMech identifiers in the LinkML schema use the CURIE form
# `CommunityMech:NNNNNN` (e.g., CommunityMech:000024). The community
# slug (filename without .yaml) is what resolves here; the numeric ID
# is recorded in the YAML body. See the project's docs for the mapping.

Options +FollowSymLinks
RewriteEngine On

# Schema source
RewriteRule ^schema/communitymech\.yaml$ https://raw.githubusercontent.com/CultureBotAI/CommunityMech/main/src/communitymech/schema/communitymech.yaml [R=302,L]

# Per-community source YAML
RewriteRule ^([A-Za-z0-9_]+)\.yaml$ https://raw.githubusercontent.com/CultureBotAI/CommunityMech/main/kb/communities/$1.yaml [R=302,L]

# Per-community HTML page (canonical)
RewriteRule ^([A-Za-z0-9_]+)\.html$ https://culturebotai.github.io/CommunityMech/communities/$1.html [R=302,L]

# Per-community HTML page (extensionless CURIE local part)
RewriteRule ^([A-Za-z0-9_]+)$ https://culturebotai.github.io/CommunityMech/communities/$1.html [R=302,L]

# Landing page
RewriteRule ^$ https://culturebotai.github.io/CommunityMech/ [R=302,L]