Dynamic Stateless Sites Using Semantic Web Annotations?

I had an idea which I’m trying to evaluate for feasibility. I’m not primarily a web developer, just FYI, so I could be very off with this idea.

Anyway:

My idea is to use Middleman to render a static website interwoven with Javascript-based dynamic views driven by semantic web / schema.org annotations. The result would be a page which dynamically summarizes other pages, without the need for a standing database.

Example:

Each person in a research organization has a personal landing page. Every research project has its own landing page. Researcher landing pages who are annotated as having worked on project X and Y will display a block summarizing their research projects with image links to them. Likewise, on the project landing page the researchers who participate in the project will show up as tiles in a block on that project’s landing page.

Is this possible? Is it being done? Are there any static website rendering tools which are backed by a graph which fit this mentality?

If so, it seems like it would a very powerful platform for High Scalability.

Thanks,
Joshua

P.S. I also posted this question to Hacker News: Ask HN: Dynamic Stateless Sites Using Semantic Web Annotations?

Hi Joshua,

I think I have a bit of a similar use case I posted a while ago here:

While what I was describing is different from your example, I think the intention both times is to statically generate websites based on DB data.
As you can see from the answers on my thread there are ways to achieve that - although the solution didn’t really satisfy me.

I think your example wouldn’t really benefit from a JS based approach, as the relations from people to projects could be made when building the page. (Or maybe I’m missing something?) There should be a way to integrate this via a plugin.

On a more general note your idea with JS is still interesting for content that’s not to be supposed to be rendered statically but maybe searchable.
I was thinking of a dual system, e.g. render a list of projects, maybe 10, on a page called “projects.html” and have a searchbar over the list. When the site is build, the projects are also put into a JSON file, lets say 200 projects in a file called “projects.json”.
When the searchbar is filled with a search term, the list refreshes dynamically by JS fetching the JSON file and doing a search on the data, all links to detail sites would lead to statically generated pages of the projects again. (see Hypermedia API’s)

I’d like to build such a system, maybe next year when I have a project for it.
Would be great for performance and unhackable.

Cheers,
Thomas

(Disclaimer: I’m only dropping by considering Middleman, my experience is with nanoc, a similar static site generator.)

Thomas is right: as you’ve described a site would best be built with build-time aggregation, generating the landing pages as static content themselves.

But, the general approach you describe is useful. I have needed to cross areas for similar purposes—to extend your scenario the projects would span many different “sites” generated separately by different owners.

In those cases, I’ve used simple feeds (RSS or JSON) and Javascript to have the browser fetch the data from different areas and aggregate/filter it before rendering. You could just as easily use HTML files with annotations.

Which is to say, your idea has merit, but the scenarios in which it is necessary are limited.