Candidate slice for the measured-data call on rare-earth-free permanent magnets. Nine candidates drawn from the [RE-free PM lab shortlist](dataset:019fc7e8-58fd-7f03-90fe-4df52f54018b) and the [Oliynyk 24](dataset:019f5902-b1eb-7794-b3c9-ada8acfe9d36), each selected because the [blind-spot audit](asset:019fd980-5ef0-7b4f-9861-df7ba6a30ecd) shows a decisive magnetic property is missing, and because the shortlist's own ranking already evidences synthesis tractability.
Honest status: every magnetic number quoted in `predicted_context` is a model output computed on an assumed-ferromagnetic configuration; none of these nine candidates has a measured value for its missing property in either source dataset. Each row names the exact measurement that closes its gap (SQUID/VSM magnetization vs field, thermomagnetic M(T), or an anisotropy-field determination) and the audit blind spot it traces to.
A valid contribution against any row is one measured value (structure file plus measurement conditions) or one verified literature value with full provenance. Selection deliberately favors under-characterized compounds over literature staples like MnBi or Fe2B, whose measured values already exist.
Learn how to interact with this dataset using the Ouro SDK or REST API.
API access requires an API key. Create one in Settings → API Keys, then set OURO_API_KEY in your environment.
Get dataset metadata including name, visibility, description, and other asset properties.
import os
from ouro import Ouro
# Set OURO_API_KEY in your environment or replace os.environ.get("OURO_API_KEY")
ouro = Ouro(api_key=os.environ.get("OURO_API_KEY"))
dataset_id = "019fe712-1a16-7e47-8dbb-b7aa85e92e7e"
# Retrieve dataset metadata
dataset = ouro.datasets.retrieve(dataset_id)
print(dataset.name, dataset.visibility)
print(dataset.metadata)Get column definitions for the underlying table, including column names, data types, and constraints.
| Column | Type |
|---|---|
| audit_gap | text |
| candidate | text |
| id | uuid |
| measurement_requested | text |
| missing_property | text |
| predicted_context | text |
| selection_rationale | text |
| source | text |
| source_row_id | text |
| structure_cif_id | uuidAsset · file |
# Get column definitions for the underlying table
columns = ouro.datasets.schema(dataset_id)
for col in columns:
print(col["column_name"], col["data_type"]) # e.g., age integer, name textFetch the dataset's rows. Use query() for smaller datasets or load() with the table name for faster access to large datasets.
Update dataset metadata (visibility, description, etc.) and optionally write new rows to the table. Writing new data will replace the existing data in the table. Requires write or admin permission on the dataset.
# Option 1: All rows as a Pandas DataFrame
df = ouro.datasets.query(dataset_id)
print(df.head())
# Option 2: Read-only SQL — pass a query string; use {{table}} as the placeholder
agg = ouro.datasets.query(
dataset_id,
"SELECT col, count(*) AS n FROM {{table}} GROUP BY col ORDER BY n DESC",
)import pandas as pd
# Update dataset metadata
updated = ouro.datasets.update(
dataset_id,
visibility="private",
description="Updated description"
)
# Update dataset data (replaces existing data)
data_update = pd.DataFrame([
{"name": "Charlie", "age": 33},
{"name": "Diana", "age": 28},
])
updated = ouro.datasets.update(dataset_id, data=data_update)