Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat (core): Introduce Enola's new YAML RDF & TextProto format #607

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

vorburger
Copy link
Member

@vorburger vorburger commented Mar 23, 2024

See also #765 ?

Goals:

  • For writing ✍️ and reading by humans, 🤠 not machines 🔫 🔥
  • Whitespace 🐻‍❄️ 🤍
  • RDF Data model (not any specific existing data model)
  • Datatypes implied by schema, not explicitly written
  • YAML or JSON (no & * links)
  • XML?

Implementation:

  • *.rdf.yaml
  • MediaType propose e.g. text/rdf+yaml, with charset , try with IANA registration
  • NO schema
  • Disable Flow Style? Then it's not YAML, anymore! Configurable via URL parameter?
  • Tags for Prefixes?
  • Context, for JSON-LD? %CONTEXT would be cool, but is technically reserved... does it work anyway??
  • Context is OPTIONAL. Implementations are NOT required to support.
  • !typeCURIE instead of a (like in TTL) or is-a
  • %BASE, default to file's own URL
  • .LOAD e.g. for standard prefixes
  • &Anchors ⚓ as IRI, relative to BASE
  • *Links! But they are forward only, and in-document only; so we also support or even just text, when schema infers
  • Datatypes via !!xsd:dateTime TAG
  • Datatypes omitted; only inferred via type. Separate?
  • NLS multi-lang simply as Map! Could JSON-LD Context do that transformation? Else just hard-code it, no biggie.
  • Duplicate Keys are errors
  • YAML Schema, formally
  • Streaming, not DOM; impl
  • Implement it as SnakeYAML to Thing API, nor directly RDF4j, but write thin Thing to Model pass through adapter.
  • Release it as a separate small CLI tool eventually #later
  • TextProto generic exact equivalent; see thing.proto
  • Rosetta yaml2ttl
  • Rosetta in Bulk with glob; not single
  • Transparent encrypt and decrypt, see Initial Cryptographic Support to have (some parts of) models en/de/crypted #284
  • Review: Guha, Manu Sporny, TBray, EMF Ed, XML Edd, lbo & pos, ...
  • Paper! 📜 Credit e.g. HUTN, and ESON and mon

# things:
# ex:Picasso:
# # TODO http://www.w3.org/ns/locn#location: !MLS "Spain"@en
# foaf:firstName: Pablo
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about another CURIE separator, perhaps like this it's nicer to read;

Suggested change
# foaf:firstName: Pablo
foaf#firstName: Pablo

@vorburger
Copy link
Member Author

https://github.com/cabo/kramdown-rfc/wiki/Syntax has some other interesting 🤔 ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
format File Formats for I/O
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant