class_docstr: A table to store datasets.
  
  :param uri: a string that uniquely identifies the dataset
  :param extra: JSON field for arbitrary extra info
class_docstr_tok: ["A","table","to","store","datasets",".",":","param","uri",":","a","string","that","uniquely","identifies","the","dataset",":","param","extra",":","JSON","field","for","arbitrary","extra","info"]
code: def from_public(cls, obj: Dataset) -> DatasetModel:
      return cls(uri=obj.uri, extra=obj.extra)
  
imports: from __future__ import annotations
  from urllib.parse import urlsplit
  import sqlalchemy_jsonfield
  from sqlalchemy import Boolean, Column, ForeignKey, ForeignKeyConstraint, Index, Integer, PrimaryKeyConstraint, String, Table, text
  from sqlalchemy.orm import relationship
  from airflow.datasets import Dataset
  from airflow.models.base import Base, StringID
  from airflow.settings import json
  from airflow.utils import timezone
  from airflow.utils.sqlalchemy import UtcDateTime
label_desc: Use image node_id 1 for calling the DatasetModel obj's underlying member method code with example usage: obj.from_public(cls, obj) and returns: cls