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

descriptive URLs for topics #39

Open
joshsh opened this issue Mar 7, 2017 · 2 comments
Open

descriptive URLs for topics #39

joshsh opened this issue Mar 7, 2017 · 2 comments
Labels

Comments

@joshsh
Copy link
Member

joshsh commented Mar 7, 2017

Currently, each atom is mapped to a URL based on its unique ID, as well as a configurable namespace. When the data is published (in RDF), the URL becomes the dereferenceable IRI of the topic.

However, these URLs are not very friendly-looking. E.g.

http://fortytwo.net/things/qAnrxm

Going forward, let's append the topic title to the URL, and instruct the Web server to redirect to the bare URL. With the proposed longer IDs, we might have:

http://fortytwo.net/things/qAnrxm0gmzccMsYz/Komodo_dragon

This URL would map to the same topic:

http://fortytwo.net/things/qAnrxm0gmzccMsYz/that_kind_of_huge_lizard

The URL is human-friendly and Linked Data friendly.

@joshsh joshsh added the brain label Mar 7, 2017
@JeffreyBenjaminBrown
Copy link
Member

So the appended part -- the appendage! -- is optional? Is it a property of references to the atom, but absent from the atom address itself?

@joshsh
Copy link
Member Author

joshsh commented Mar 7, 2017

It's optional, but applications will default to sharing and linking to the expanded URLs as opposed to the bare URLs. When you visit a page (and see HTML generated from the Markdown), you will have the full URL in your browser's navigation bar.

How IDs, IRIs, URLs and pages will work:

  • every topic has an ID. In the new model, a topic is nothing more than the ID, e.g. qAnrxm0gmzccMsYz for the concept of Komodo dragon. This is the identifier of the topic in a SmSn context.
  • for every ID, there is an associated IRI, e.g. smsn:qAnrxm0gmzccMsYz (IRI scheme or namespace to be determined; the example assumes a "smsn" scheme). This is the identifier of the topic in a Semantic Web context.
  • topics are described by pages, which have URLs based on the topic ID and a title. E.g. http://fortytwo.net/things/qAnrxm0gmzccMsYz/Komodo_dragon. As I have suggested, the title is not essential to the URL, and other titles are equivalent for the purpose of retrieving the page. This way, the title is free to change over time, while the ID remains constant. Page URLs are the identifier of a topic in a Web browsing context.
  • pages are contained in namespaces, e.g. http://fortytwo.net/things, which correspond to Git repositories or other SmSn datasets.
  • datasets are sets of pages. A dataset can be published in more than one namespace, but you can't have more than one dataset per namespace, nor more than one page for a given topic in a given namespace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants