208 comments

[ 3.2 ms ] story [ 251 ms ] thread
What happened to the semantic web?

Well... it happened.

1) We got schema data for Job Postings that companies like Google reads to build a job search engine.

2) We got schema for recipes. https://schema.org/Recipe

3) We got the Open Graph schema for showing headlines/preview images in social networks. http://ogp.me/

4) We got schema for reviews: https://developers.google.com/search/docs/data-types/review

5) We got schema for videos: https://developers.google.com/search/docs/data-types/video

6) We got schema for product listings.

(comment deleted)
I agree. While it didn't turn out to be the solution to all our Problems and not every webpage is chock full of semantic markup that anyone can scrape, there are still a lot of bits and pieces that stuck around.

I always felt that one problem of more widespread adaption by users was missing software. There were and still are all these great microdata pieces out there, but can my browser save an address, add an event to my calender etc.? If these things were easily possible to even an inexperienced user, I think we would see much more semantic markup. But in the meantime, search engines and social networks sure have an easier time scraping information then before we talked about the semantic web.

These are definitely interesting things that semantic web influenced, but they're definitely not what semantic web aspired to be. The differences are a good laundry list of things that make standardized data models viable in the wild:

They are organized around use cases, not data origins. They are opt-in, rather relying on distribution via some discovery standard. They are only used by subsets of the industry they serve, and that's ok. They aren't integrated with regulation in ways that force their use. (list continues)

I would rather see features on the web appear because users want them and expect them to work, and not because some regulation mandates their use.
Like a lot of things--though not everything--with the modern Internet (e.g. RageRank vs. hierarchical directories), some echo of the Semantic Web ended up happening mostly organically. The Semantic Web was a rather academic concept--think a library classification system for the Web. Tim Berners-Lee, among others, promoted it for a long time.
The semantic web happened but the Semantic Web didn’t. Schema.org is used because it a) solves a problem which exists in reality and b) works well with very modest requirements.

All of the crazy bikeshedding about labyrinthine XML standards, triples, etc. or debating what a URL truly means has very little to show for the immense time investment.

The main lesson I take away is that you absolutely need to start with real consumers and producers, and never get in the state where a long period of time goes by where a spec is unused. Most of the semweb specs spent ages with conflicting examples, no working tooling, etc. which was especially hazardous given the massive complexity and nuance being built up in theory before anyone actively used it.

"Good judgment comes from experience, and experience comes from bad judgment." Maybe humanity had to first try "all of the crazy bikeshedding about labyrinthine XML standards, triples, etc. or debating what a URL truly means" in order to gain enough understanding about this domain to later create things like schema.org.
That is literally one of the points of the article.
With regard to the first example, lowering volume of playing media when you get a phone call, I had that set up on my Nokia N900 a decade ago (Dbus on the N900 would trigger a script to ssh into my computer and pause mpd). Naturally this was a nerdy thing and not something accessible for the general public, but I mention it here just to encourage my fellow nerds to realize how much power they might already have with existing tools.

The writer says that a business owner must add their office info to Google or Yelp and suggests there are no alternatives to such centralized repositories of information. However OpenStreetMap also has opening hours for businesses and medical practioners and that data is yours to process and play around with as you like.

In fact, there is just so much data present now in OSM, we simply lack convenient end-user tools to extract and process it automatically.

OSM is open, but it is still centralized. It doesn't come to your webpage and get the information about your hours from you (as far as I can tell)
A hybrid approach seems sensible: the OSM data contains a vetted/known URL for your business, then your client uses that URL to fetch the hours from the website. In a perfect world, anyway.
OSM is a wiki, anyone can edit things, and there's wiki-like community review. So the owner of a business can add the details if they want, or someone walking past and looking at a sign can.
Right but the semantic web idea is that the business owner puts the hours on their site and that lets everyone who wants to know the hours. No central site (OSM, google, yelp) required.

I mean the person looking for the hours would probably go to one of those sites, but the hours wouldn’t be stored there.

It's really too bad that XML+XSLT didn't take off as the "replacement" for HTML. Before you recoil in horror hear me out...

Web pages are a giant mess of content and presentation, and CSS doesn't really help much. XML is at least a way of describing data in a meaningful way. <book>, <author>, <chapter>, etc. XSLT provided a way of formatting XML in the browser. Sure the internet would still be full of inconsistent content structures, but it would still be way easier to machine read than the big mess of arbitrary <div>s and <p>s (most of which just display something blinky) that we have today.

That probably would have been cleaner back in the day, but with rich UIs being what they are, I think JSON + client side templating logic is probably simpler (and composes well).

I never had much luck using XSLT for anything non-trivial, and I imagine that experience isn't uncommon.

The thing that makes this hard is the security model in browsers. You either keep the XSLT scripts in the same directory as the XML or need to turn off the check for cross-site scripts.
Ok, how do you get XSLT that isn't in the same directory as XML to work in a browser ?
The two problems here are that XML/XSLT are horrible to work with (to the extent that you want to achieve what they were supposed to, you do it with the modern "single page app" style where you write javascript that retrieves data from an API and renders it into a UI) and that no-one actually wants to separate the content from the presentation anyway.
Except you just contradicted yourself. If everyone wants to use JavaScript frameworks and APIs for data they they ARE separating the content from the presentation.
If you think JS frameworks are used only for data manipulation, you're sorely mistaken. Runtime styling has been a primary aim of JavaScript code since even before the popularization of jQuery.
> If everyone wants to use JavaScript frameworks and APIs for data they they ARE separating the content from the presentation.

That's not true. The DOM that the javascript frameworks mangle around isn't data but UI elements, some of which happen to be data.

> no-one actually wants to separate the content from the presentation anyway.

Except of course the developers who are using react & friends because it allows them to separate content(data) from presentation(view).

This only addresses the easiest and least interesting problem to solve if it’s really a problem at all (I mean this doesn’t even show up on the Doctorow list of “meta crap” as an issue— like micro formats are ugly but they can do essentially the same thing). It just makes peoples lives miserable to use more XML for no benefit.
> XSLT provided a way of formatting XML in the browser.

Actually, that was XSL:FO.

XSLT is transformation, not formatting; of course you could translate to (X)HTML with embedded styles, or XSL:FO or something else that includes formatting, but XSLT doesn't do formatting itself.

No, XSL-FO does not do formatting in the browser. It is meant to do printed page formatting. Currently the most common drivers produce PDF. But I heard, there is a LaTeX driver as well as PS.

Typical workflow is: XML -> XSL-T -> XSL-FO

I worked in a web app that used XSLT transformations of XML-formatted domain models to render HTML pages. You ended up doing the same sort of thing that React does, but with _far_ more cumbersome programming constructs. Functions done in XSLT were a nightmare.

The idea behind the whole thing was that the "web devs" could be hired for their HTML/CSS skills and never have to touch code. The reality was, they had to become experts in a peculiar, clunky, XSLT-based programming language of their own.

> Functions done in XSLT were a nightmare.

Did you "push" or did you "pull"?

> Did you "push" or did you "pull"?

I think you're proving my point. :-)

More specifically, we defined parameterized components that could be composed to form the output. The definition of those components was incredibly verbose, as was the instantiation, and it was tightly coupled to parts of the domain model in surprising ways. IIRC WebDevs ended up having to work a step removed from the final XSLT, using some DSL for components that transformed down to XSLT.

Further, deponent sayeth not.

I would love to see, what you did there, because, from your description, I do not understand, why you needed to use some DSL, if your input was XML and your output should have been XML, too.

And how does my question prove your point?

I am asking, because I really would like to understand, what happened there.

Every time I am forced to work with XML, I wonder how differently it would have turned out had 10% of the resources devoted to building increasingly complex and tangled specs had been instead directed towards making tools and documentation which aren’t terrible. Little things like the user-hostile APIs for namespaces, validation, extension, etc. and often horrible error messages, not to mention the lack of updates for common open source libraries like libxml2 really cemented the XML=pain reputation by the time JSON came along.
My gripe with JSON winning is that we're left with competing standards for JSON paths, transformation, and JSON Schema is still a draft. Clunky as XML is, the tooling is more portable and powerful.
not only the Semantic Web, but semantic anything. All the millions of taxpayer funds spent in semantic research...
I have some insight here because I did a postdoc working on anatomy ontologies in the UK. A big part of the problem with the semantic web is that lots of people in European academia use it as a collection of buzzwords for making grant proposals sexier, without understanding or caring what it actually means.

Instead of saying, "Give us money to build a webpage", they say, "Give us money to expose metadata annotations using a RESTful API on the semantic web."

I would prepare conference presentations where I was just filling slides up with BS to fill time.

Devs from other universities (gotta check that international research box!) understood the technology even less than our team did. We provided them a tool for storing RDF triples for their webpage so they could store triples about anatomical relationships. They wanted to use said RDF store as their backend database for storing things like usernames and passwords. facepalm

So you have all these academics publishing all this extremely important sounding literature about the semantic web, but as soon as you pry one nanometer deep, it's nothing but a giant ball of crap.

Yeah, semantic web really hacked the brains of academic-facing bureaucrats. It fell into this giant gap between what administrators don't know about business and what they don't know about technology... a gap big enough to shove every utopian idea about "an effortlessly integrated, data driven society" into.

There's no such thing as "right" way to represent any given data stream, just ways that are more or less suitable to specific tasks and interests. That's why HTML failed as descriptive language (and has become fine-grained-formatting language), and it's why symantic web was doa.

>hacked the brains of academic-facing bureaucrats

In all fairness, it was also promoted by legitimate academics including Time Berners-Lee. I actually saw him give a talk about it a number of years back for his Draper Prize speech.

I remember his AAAI '07 talk where he laid into the audience for changing and reusing URLs. It made me really want to see this world he was imagining where millions of people using the web every which way agree to universally abide by a rule that makes their life a lot harder but makes it easier to reason about algorithms on the Web.

Btw, I don't think this or failure of semantic web reflect badly on TBL. He is in a rare class of folks, along with Stallman, who can leave a bigger dent in the world while missing their ideals by a mile than most of is could if we got everything we wanted.

Oh, I'm certainly not going to be very critical of Sir Tim! Along with the obvious reasons, I believe he coined the read/write web term and was a strong advocate of users being creators as well as consumers. And TBH, while it's fairly obvious today that classification and discovery has to happen largely organically if only because of the scale of the Web, thinking in terms of formal schemes is a pretty natural bias for someone of TBL's background to have.

My main point was that this wasn't just some fantasy of out-to-lunch bureaucrats.

'There's no such thing as "right" way to represent any given data stream, just ways that are more or less suitable to specific tasks and interests.'

My core objection to "the Semantic Web" is the non-existence of "the Semantic". There is no way you can get everyone to agree upon a universal "semantic", and if you can, which you can't, you can't get people to accurately use it, and if you can, which you can't, you can't prevent people from gaming it into uselessness. But it all starts from the fact that the universal semantic doesn't even exist.

Somewhere there's a great in-depth series of blog posts from someone who describes just trying to get libraries to agree upon and correctly use an author field or set of author fields for libraries. This is a near-ideal use case, because you have trained individuals, with no motivations to insert bad data into the system for aggrandizement or ad revenue. And even just for that one field, it's a staggeringly hard problem. Expecting "the web" to do any better was always a pipe dream. Can't dredge it up, though.

(To the couple of other replies about how "it's happening, because it's happening in [medical] or [science]", well, no, that's not it. That's a smaller problem. The Semantic Web (TM) would at most use those as components, but nobody would consider that The Semantic Web (TM), at least in its original incarnation. Yes, smaller problems are easier to solve; that does not make the largest version of the problem feasible.)

(comment deleted)
I don't think a "universal semantic" was ever a design goal of the semantic web. What's needed is not one semantic, but the ability to map between competing/complementary semantics. Which is still a hard problem, to be sure, but which admits varying degrees of partial progress.
> still a hard problem, to be sure, but which admits varying degrees of partial progress.

I think one of the big problems with the semantic web was that it turned "varying degrees of partial progress" into "multiple competing approaches", each of which wanted to detract from the others.

"I don't think a "universal semantic" was ever a design goal of the semantic web."

And I'm pretty sure it was the whole point. Nobody would ever have written as many reams of marketing material if the pitch was "Hey, someday, you'll be able to reach out to the web, and with specialized software for your particular domain you can access specialized web sites with specialized tags that give you access to specialized data sets that can be fed to your specialized artificial intelligence engines!"

Because that pitch is basically a "yawn, yeah, duuuuuh", and dozens of examples could have been produced even ten years ago. The whole point was to have this interconnected web of everything linking to everything, and that's what's not possible.

These two visions you present lie on extreme ends of a continuum. They're both complete strawmen. The folks behind semantic web were aware of both of them, and were careful not to let their work be pigeonholed into either one.

Consider these passages, from "The Semantic Web," Tim Berners-Lee et al, Scientific American, May 2001:

"Like the Internet, the Semantic Web will be as decentralized as possible. Such Web-like systems generate a lot of excitement at every level, from major corporation to individual user, and provide benefits that are hard or impossible to predict in advance. Decentralization requires compromises: the Web had to throw away the ideal of total consistency of all of its interconnections, ushering in the infamous message 'Error 404: Not Found' but allowing unchecked exponential growth."

"Semantic Web researchers... accept that paradoxes and unanswerable questions are a price that must be paid to achieve versatility. We make the language for the rules as expressive as needed to allow the Web to reason as widely as desired. This philosophy is similar to that of the conventional Web: early in the Web's development, detractors pointed out that it could never be a well-organized library; without a central database and tree structure, one would never be sure of finding everything. They were right. But the expressive power of the system made vast amounts of information available, and search engines... now produce remarkably complete indices of a lot of the material out there. The challenge of the Semantic Web, therefore, is to provide a language that expresses both data and rules for reasoning about the data and that allows rules from any existing knowledge-representation system to be exported onto the Web."

My impression, back then, was that The Semantic Web would be the sort of thing that you could create a real, general, AI upon. But populating the SW accurately, and maintaining it, was far too large a task for a small group of people and required too much coordination for a large group of people. You'd need a real, general, AI to manage it. So you can't create it without the AI, and you don't need it if you've already got the AI.
It's like the dictionary vs encyclopedia thing. A dictionary (vocabulary) is probably the best we can hope for.

I have a foggy recollection that Jerry Fodor (Holism) or maybe Eco had thoughts on the matter.

The entire design of the "linked data" ecosystem is based on the idea that, as you point out, "There is no way you can get everyone to agree upon a universal "semantic", and if you can, which you can't, you can't get people to accurately use it, ..." etc.
> Somewhere there's a great in-depth series of blog posts from someone who describes just trying to get libraries to agree upon and correctly use an author field or set of author fields for libraries.

That sounds interesting! Don't suppose you remember any more terms that might enable a Google search to find it?

> That's why HTML failed as descriptive language

I think HTML and the web failed in general. Modern HTML is really nothing more than div tags everywhere, with a handful of span tags. We went from abusing tables to abusing the entire document. We, in effect, eliminated all semantic meaning from a document by making everything generic tag soup.

The DOM + JS has largely supplanted HTML as the source of a web page. Especially when using tools such as React or Angular.

In terms of vision, the rise of native phone apps and the fact that every major site has a mobile version and a separate desktop version really highlights how the web failed.

I do node/React dev for a living. I'll be the first to admit this pile of hacks is total garbage. Mobile web is almost unusable. I hate it. I hate the sites I work on. Their UX is horrid. Native apps are so far superior that they make the web look like an embarrassing relic. But web development pays the bills and keeps the lights on.

I'm working on a project with a React frontend. I think I never tried it on my phone. It probably works but the site is really meant for the desktop and I don't know if it makes sense on a small display.

However... I'm writing this on my phone so HN is part of the mobile web and it works well. I read the post on twobithistory.org on my phone and that also works well. I doubt that they have an app and even if they did, why should I install it and what would happen when I follow a link from HN to them? I'll get the mobile site or would the app catch the link and open itself?

I don't even have the apps of the news sites I read most. Reading them on the phone with Firefox and uBlock is good enough. Their apps probably contain more spyware then the adblocked sites.

So the mobile web did not conpletely fail. It's still what's on the screen of my phone for about 50% of the time: since last charge 3h 55m of screen time, 57m used by phone calls, 1h 54m Firefox, 15m WhatsApp, etc.

> 57m used by phone calls

You are an unusual smartphone user. For most people, it is 0m.

Do you have stats? You might be projecting.
I checked in the Battery settings. Android 8 shows the stats there.
> Modern HTML is really nothing more than div tags everywhere, with a handful of span tags. We went from abusing tables to abusing the entire document.

True but there is some reaction to this. On one hand there are people like yourself that just make the document from data and javascript using lots of build tools, frameworks and ever more specialist technologies.

On the other hand there are people wanting to get back to a pure document that has next to no javascript needed, using HTML5 built-ins for forms, CSS Grid for layout, no polyfills for legacy browsers and no frameworks. This is not widely given exciting buzzwords but 'intrinsic web design' is happening.

When I watch conference presentations it seems to me that there are two groups of people, those to whom the ever more complicated appeals and those to whom the make it simple appeals.

The 'make it simple' currently does not fit with existing workflows, maybe for startups but not for most web agencies where a good decade has now been spent nesting divs in more divs and making it a big mess of un-maintainable 'write only' code, with 97% unused stylesheets that have got to the stage where nobody knows what anything does, they just add new hacks to it.

With where we are with HTML5 it should be easy to markup your document semantically, however, Google have kind of given up with that and if you want to put some semantic goodness in there then you add some JSON-LD on the end rather than put property tags in everything throughout the document. It is as if Google would prefer the document to be doubled up, once with trillions of divs for some bad CSS and then done again to be machine readable.

Regarding mobile, 'progressive web apps' is widely supported and has removed the need for custom mobile applications. This is progress.

I've been recently wondering if there's another, better way. The big usability win of the web is that you can run applications without installing anything. Is there a way we could build a new platform that would get us the advantages of the web without all the awful cruft?

I'm imagining starting with webassembly for sandboxing. We can then expose through to webassembly a useful set of API primitives from the underlying OS for text boxes, widgets and stuff.

Apps would live in a heavily sandboxed container and because of that they could be launched by going to the right URL in a special browser. We could use the same security model as phone apps - apps have a special place to store their own files. They have some network access, and can access the user's data through explicit per-capability security requests.

That would allow a good, secure webapp style experience for users. But the apps themselves would feel native (since they could use native UX primitives, and they would have native performance).

Developers could write code in any language that can compile to webassembly. We could make a bundler that produced normal applications (by compiling the app out of the sandbox). Or we could run the application in a normal web browser if we wanted, by backing the UX primitives with DOM calls, passed through to WASM.

Didn't we try this in the 90's with Java applets?
What is the essential difference between the success of browsers and the failure of X-Windows and Java applets?

For my money its that Java applets and X-Windows didn't have a distribution mechanism and security model. They simply didn't do anything I couldn't already do with desktop apps and HTML.

Also, frankly, they were kind of slow and not very good. I think thats the biggest problem with this sort of idea - the breadth of surface area for GUI toolkits is crazy huge. Building something that works well, and works cross-platform is a seriously huge amount of work.

> What is the essential difference between the success of browsers and the failure of X-Windows and Java applets?

Timeline is one of the key ones. According to chrome task manager (because browsers need task managers now) the page I'm typing this reply on the contains a text area and your comment is consuming 30MB of RAM. Back when Java applets were getting their reputation for being slow I would have been lucky to have a computer with 32MB of RAM, 8 and 16MB were still common at that time. Now there were some other things that made applets awful, but if they were introduced today they wouldn't seem nearly as bad as we remember, on the same computer this page would be clunky.

For x-windows, it was never really a contender because there was no MS compatibility, but the potential was there.

Discovery. This is the essential difference. And this is mostly based on semantic features of html.

www has 3 main ways of discovery that alternative technologies didn’t offer: 1) search (leading you to correct info in the site, instead of just to a landing page. 2) overview pages, short summary with links to the actual info (google news, etc), 3) deep hyperlinks that everyone can easily discover (browser url) and provide elsewhere (email, Facebook posts, twitter posts, etc).

The first one is very much based on the semantic qualities of html, where google can crawl a page and make some educated guess about what the page is about.

Biggest problem with mobile apps is that discovery is completely channeled through commercial app stores.

I would like to see an alternative web tech stack that doesn’t skip the discovery part. Web assembly with canvas for example is completely useless for a search crawler.

Java actually has a pretty decent security model. Like most sandboxes it was (and still is) full of holes, but browsers don't fare much better.
How are you crossing the bridge from webassembly to having access to the native UX primitives? Are you directly making C calls to native libraries like win32?
Through a privileged security barrier, which in practice would look like a separate API. That API would in turn make win32 (or UWP or whatever) calls.

At a minimum we'd need a separate API to enforce a web / mobile style security boundary.

You can do that with PWAs if they are packaged as native apps.

For example on Windows, Microsoft has rebooted hosted UWP JavaScript apps into signed PWAs.

So on that case, you can check if UWP APIs are available and use all of them, depending on UWP permissions for the app.

Chrome is following a similar route with ChromeOS and Chrome Android.

As native/Web developer I tend to have a native bias, but PWAs look like the way the Web might win back native. It isn't fully there though.

The original usability win of the web was that anyone could put up some text with pictures and links and anyone else could see it. It was proto-Facebook. I think of the evolution of the web as a sequence of technologically trivial but socially innovative changes in format: from static pages to timestamped blog posts, aggregating multiple blogs in a feed, allowing comments and so on. That's the vision laid out in Clay Shirky's writings about social software, as true today as ever before. And unlike the "semantic web", that vision naturally leads to a wealth of semantic information (like friend graphs) which is tremendously useful.

Hopefully that explains why "API primitives exposed to webassembly" feels to me like thinking about the web from the wrong end. The social end is what makes the web tick. It could be built with tinkertoys for all I care.

When people say this, it feels like we're in different universes, or at least looking for different things.

I main Linux on all of my machines. Most of the native apps on it have terrible UX. Even big apps - On touch screens, Firefox doesn't support two-fingered scroll. Chrome won't snap to the side of a desktop. Neither will bring up a virtual keyboard if I click on the URL bar.

The majority of my native apps that I use don't support fractional scaling - apps like Unity3d are unusable on 13 inch screens and there's no way for me to zoom in or out on them. Even system dialogs suffer from this problem sometimes, it's like nobody on native ever learned what an 'em' unit is and they're still stuck in 1990 calculating pixel positions.

To contrast, most of the websites that I'm using, even when they're badly designed will work on smallish screens or can be individually zoomed in and out. My keyboard shortcuts work pretty much the same across every site (aside from the rare exception that tries to be all fancy and implement its own). If they break, it's not rare for me to be able to open up an inspector and add one or two CSS rules that fix the problem.

Reading Hacker News, I sometimes wonder if I'm just browsing/using entirely different sites/apps than everybody else is. I don't understand how my experience is so different.

Regarding semantic HTML, I generally don't have too much of a problem there either. I don't think semantic HTML is hard to write - I use it on every single one of my sites. If you're using React and it can't be used without spitting divs all over the place, maybe the solution is just to stop using React? Modern HTML is only going to look like div soup if you fill it with divs.

I mean, I can build you a horrible SQL database that requires 30 joins on every data call, but that doesn't necessarily mean that SQL is bad. It means that auto-generating SQL tables based on a bunch of cobbled-together frameworks and user-scripts is bad. Treat your application's DOM like you would a schema, and put some thought into it. That will also solve a great deal of the responsive design problems on mobile that people are talking about, because light DOM structures are more flexible than heavy ones.

> I don't think semantic HTML is hard to write - I use it on every single one of my sites.

Buzzword-compliant semantic HTML or semantically useful HTML? Is there any user-agent out there that benefits from the extra work you're putting in?

There used to be a plugin for Firefox that would indicate if a page contained any FOAF info.
It's important to distinguish between the semantic web and semantic HTML. They are different things.

The criticisms this article levies about the semantic web are pretty much straight on as far as I can tell.

Semantic HTML is pretty straightforward though - it's using HTML to describe content, rather than purely for layout. Some sites do it better than others, but it's certainly not dead or abnormal -- and many static HTML generators are... decent.. ish. Semantic HTML is using stuff like article tags and sections, using actual links instead of just putting a click handler on a div, stuff like that. The stuff that makes it easy to parse and understand a web page.

It's very useful - semantic HTML is the reason that sites like Pocket work, it's the reason why reader mode in Firefox/Safari works. It's the reason why screenreaders on the web work so much better than on native apps (at least as far as my experience on Linux has gone, maybe other people have better apps than me :)) It also (opinion me) makes styling easier, because light descriptive DOM structures tend to be easier to manipulate in CSS than large ones.

The semantic web, to the extent that it's well-defined at all is more about the metadata associated with a webpage. Very different concepts.

Same can be told about native apps that don't bother with layout managers, specially if they are part of the OS frameworks to start with.
It's a double-edged sword. I get why some apps say, "I want to handle everything myself", because then you don't have to debug which versions of a framework you're compatible with, and you don't have deal with these massive layers of abstractions. I hate working with frameworks, if I was building a Linux app I would be very tempted to just directly call into X or Wayland.

On the other hand, the last time I launched Braid on Linux, I had to manually change my resolution back afterwards and it removed my desktop background.

And I just felt like, "I'm sure there was a really good, sensible reason for whatever hack this game relied on when it originally launched on Linux. But... come on, if you had used some common framework, for all of the terrible problems that might have brought, when I launched it years later it would have at least full-screened properly."

So I dunno. The number of really big Linux apps that end up using their own custom display code is surprising to me. Even Emacs isn't fully using GTK. I assume developers of those apps are smart, so I assume there must be a good reason for it.

> Modern HTML is really nothing more than div tags everywhere, with a handful of span tags.

So just add a layout-language to divide it from the content, as already done with style?

Nobody is stopping people from using the relatively new article or header tags. There is not really an inherent advantage in using divs except that they are barebones maybe. Apart from that, there are data attributes which are actually used on real-world websites for annotation of texts. Indeed they go particularly well with span tags.

People forget that all these fancy frameworks produce actual HTML5 DOMs, who cares if those are static or dynamic. I someone wants to write a semantic web parser/crawler then it's a great idea, but probably it shouldn't be done using wget. :-)

It's not cynism, is how much things went. Meanwhile there is much genuine work in knowledge representation awaiting to be done and funded both in the foundations and the platform sides.
Thanks for sharing. I am worried that exactly the same will happen to AI in Europe :-/

https://www.scmp.com/news/china/science/article/2165004/euro...

I think AI is a different kind of thing. Re:

>More than 2,000 European AI experts have come together to collaborate on research and call for large-scale funding from the European Union to counter China and America’s rapid progress in the field.

you wouldn't get them worrying about the US / China's rapid progress in Semantic Web.

Very different beast. The semantic web was an effort to improve the commons. AI/ML benefits are captured by their owners.
I've never worked in any field that might be considered "semantic web", but at my last gig I spent some time researching deductive database technology.

"Semantic web" was like a keyword that popped up in the abstract of virtually every paper published on the topic since the mid 90s or so. It seemed to me one of those phrases that virtually guaranteed grants of funding if you could work it into your paper.

I think you're correct that people working in the field of semantic web oftentimes didn't understand (or lost sight of) the intended nature and utility of the concept. But I also think that its buzzword status lead to the label being applied to many things that were only loosely related.

There was (is?) a lot of good work happening under the heading of "semantic web", but—partly because the term was not an apt one for the work, and partly because the dream of the semantic web never really actualized—that work has remained relatively obscure. Obversely, there was much work of questionable worth happening under the same banner, likely because it was a reliable way to get funding, at which point we return to that extremely important-sounding literature that's nothing but a giant ball of crap...

Wow, had such a similar story, except with a Master's degree. Most of my graduate program was consumed by a highly-cited and quite arrogant professor who focused on the Semantic Web. I took 2(!) separate Semantic Web courses and couldn't understand what the fuss was all about.

By the end, I figured out the professor was full of crap. When AJAX became a big thing, I remember the professor asking, "Why don't you add AJAX to this project?" What does that have to do with the Semantic Web? In the end, I got a paper published in a fairly prestigious journal by just combining some flashy visuals with the Semantic Web and having the professor be a co-author.

That was one of the big experiences that helped me figure out that academia wasn't for me. And I would be perfectly fine never hearing about triples, RDF, or that other nonsense again!

Yup, I was in academia in UK and Germany for a total of 7 years. Had similarly crappy experience and got out. I think 80% of research is crap done "just to get the grant" and not real research.
>>When AJAX became a big thing, I remember the professor asking, "Why don't you add AJAX to this project?"

Sounds like something my manager at my previous job would say. He was a Pointy Haired Boss.

Cool comment...but say you have a friend whose dumb and wanted to explain why its not ok to store usernames and passwords....

What would you say to them?

1) users often use the same username and password on various websites, despite this being dumb (because it's so convenient)

2) if you ask such a stupid question you probably won't be able to properly secure the machine hosting this

3) your users will be totally screwed when you get hacked

And this is why you should never store passwords but only a salted hash, and never trust any service that can email you your password when you click "I forgot my password".

Different data store types are used to solve different problems. An RDF store is designed to help solve the problem of ontological relationships. I wouldn't use an RDF store if I wanted to store information about who has the current high score on my video game or who has signed up to my site for a username and password.

Unfortunately some developers think that once you've chosen one particular storage technology (RDF, relational DB, document storage) that's the bucket you hae to put everything into in order to do anything in your application. I suspect that was the mental model of the other devs in the story above.

Well for one thing, with triple-stores it's not uncommon to expose an unsanitized read-only query engine (usually SPARQL), usually harmless because none of the data is secret. That goes out the window if you're actually storing business-sensitive stuff in there.

Aside from that, I guess there's theoretically nothing stopping you from using the triplestore for usernames/passwords (I hope you mean salted passwords) but sheesh, talk about killing a fly with a bazooka.

To be fair to those colleagues, it might have been less about them being clueless, and more about them wanting to offload work to my team, lol.

In my circle the semantic web types morphed seamlessly into data scientists and continued to extract funding without missing a beat
What do you think of SNOMED as an anatomy ontology? Is it good enough or are there serious flaws?
Sorry, I only worked with FMA, with some tangentially related ontologies like CHEBI, and some custom in-house ontologies.
Really interesting to hear that my experience is shared by any. I wrote my master thesis on rdf and linked data and the more I got into it the more I realize how it's just a collection of people praising each other's ideas without any outward potential.

In theory the idea is brilliant but the execution is poor. In many cases the world of academia is way too detached from software development to be able to produce any real-world useful tooling beyond toy projects and proof-of-concepts.

> So you have all these academics publishing all this extremely important sounding literature about the semantic web, but as soon as you pry one nanometer deep, it's nothing but a giant ball of crap.

It's not just academia. I made an observation about how most BigCo and BigGovts use a lot of Semantic Web: https://news.ycombinator.com/item?id=18036041

This is really fascinating. It seems there's an interfacing problem at a level, with a sort of depth-expectation on one end of the problem (real-world / technology application), and a more exploratory breadth-expectation on the other (pure academia / science). It'd be cool to develop some standards to create a sort of bridge between the two.

On the breadth end there may be a need for a sort of "contract of depth commitment" to provide insurance against the flighty hijinks of the ever-expanding mind, and at the real-world level you need a sort of "grant of exploration" which allows academia to bring its own type of surface-level one-night-stand concern or even ADHD to the game. Without the latter there's probably too much risk of repeating history while someone else is blazing the trails you won't try.

Anyway thanks for that comment, it's really interesting.

Somewhat related, I suggested how the Semantic Web (aka "Linked Data") and the more real-lifeish Data Science field could be merged, at a Linked Data event in Sweden earlier this year:

TLDR; What semweb / linked data lacks the most, is a practical logic / reasoning layer, so that facts can more easily be inferred form existing plain data. I further suggest this is already available in a rock-solid proven technology; Prolog.

Blog post: http://bionics.it/posts/linked-data-science

Slides and video: http://bionics.it/posts/semantic-web-data-science-my-talk-at...

Could you use something like Google Inference API to generate inferred form from existing plan data?
Isn't Google's Inference API for time series data? Finding patterns? Prolog is more of deductive logic engine right?
That is so sad. I proposed, and worked briefly on with a handful of really awesome engineers, a project that would use an LDA to try to ascertain the topic for a web page, then use NLP to pull apart the sentences for their contextual components, the next step was to slot the values into an ontology framework to store alongside the web page text. Its initial goal was web content scoring with respect to ontological coherence but later for building knowledge bases dynamically.
Yes. I was trying to formalize an ontology for astronomical data sets, found that good people in Strasbourg had already done a good job there, but had no experience with unification over simple tuples. Tried to explain RDF with Prolog queries.

I tried to steer away from typical databases, but in the end I was just getting in the way.

I thought Freebase [1] was the most promising "Semantic Web" technology, with a powerful query language (MQL) and an application platform called Acre [2]. I'm biased because I worked at Danny Hillis' adjacent company, Applied Minds, and met with the Freebase folks to talk about graph databases. I went to one of Freebase's Hack Days, and I could feel the energy around building applications on a semantically-aware global database.

Unfortunately, they got acquired by Google, and Freebase eventually shut down. Thinking back now, I wonder if there would have been a business model in hosting private data graphs to subsidize the open source data.

[1] - https://en.wikipedia.org/wiki/Freebase [2] - https://opensource.googleblog.com/2010/08/acre-open-source-p...

That really sucks. Being bought out by Google probably creates some implicit benefits to their search experience (likely with their topical breadcrumbs which returns widgets inside the search window giving a list of objects that match and near-match, like books by an author).

But the acquisition prevents there from existing a service that can inspire a wider ecosystem on something like a federated platform.

Blood monopolies, man

Seems pretty clear to me that freebase was a thread to Google search. A semantic knowledge search with a powerful query language could replace a good chunk of free text google searches at least for power users.

Makes sense for them to buy it and get rid of it that way.

>Makes sense for them to buy it and get rid of it that way.

Except they didn't : The Freebase team moved to Google and carried on the work there, as "Google Search".

btw s/thread/threat/

You can still download the data at https://developers.google.com/freebase/. Looks like the data is available there and the license is "Creative Commons Attribution (aka CC-BY)". Wonder why someone hasn't created a new company starting with their dataset? It's "only" 2gb compressed, 8gb uncomp, 63 million entries. That is smaller than I expected.
I guess wikidata/wikipedia is the offshoot.
:-)

You might be interested in the Underlay Project that Danny is starting: https://underlay.mit.edu/

Its great to see he's continuing this work! Makes sense to use existing technology like IPFS to distribute the graph, instead of building the technology from the ground up like we were trying to do back in the day.
Danny has been collaborating with some people in the MIT Media Lab and Protocol Labs to get a non-profit, open-source, and distributed version of Freebase off the ground, called the Underlay. I know they're looking for passionate people to work with, so if you're interested you should reach out! https://underlay.mit.edu/
You probably would like to have a look at Wikidata that is very similar to Freebase and is gaining a huge community of contributors and data reusers: https://wwww.wikidata.org/
Web API's happened instead.
And ML also happened. If you can do pattern recognition and semantic analysis without the markup, why bother with it?
But is it that easy? Any ready to use OSS projects available?
We're getting there with CSS grid. First, we have to deal with the usual "You actually have to put div A inside div B in order to do X. Now which one gets the semantic tag? And what happens when we also need div C as a container to fix Y problem? "
It's been replaced by the Decentralized Web as the latest fad (also with the backing of Tim Berners Lee). Let's see how far this one goes as well (though I'm really rooting for it to succeed).
I thought the addition of elements to HTML5 like nav, main, article, etc. was the end result of the semantic web.
Not really. That stuff does relate to "semantics" in the "Semantic Markup" sense, but it doesn't actually have much to do with the "Semantic Web" per-se. I mean, yeah, there is a weak sort of connection there, but when people talk about the "Semantic Web" they are mostly talking about RDF, whether it's encoded using RDF/XML, N3, Turtle, JSON-LD, or "other". And along with RDF are related technologies like OWL, inference engines that reason over a triplestore, etc.
Nothing "happened to" the Semantic Web. It's here, and it's growing in utility and capability as the technology matures. What isn't necessarily growing is understanding of what the Semantic Web really is, who it's for, how to use SemWeb capabilities, etc.

I'll accept some responsibility for that last bit, as somebody who has been active in promoting, and advocating for the adoption of, SemWeb tech. I could do more / do a better job in that regard.

Well, now's as good a time as any to start! Let's say I wanted to throw a layer of semantic markup over an existing site - where would I go to figure out what schemas to use and how to use any given schema (it's been a while since I tried to SemWeb up a site.)
That's an interesting question, because it has a few assumptions baked into it. I'd love to write a long eassy on that right now, but I don't really have time. But to answer the core question, one good place to start familiarizing oneself with the various schemas that are available is:

https://schema.org/docs/schemas.html

There's also a lot of good information at

http://linkeddata.org/guides-and-tutorials

although I fear that site doesn't get as much love / attention as it should, and some of the links might be stale.

What happened is that it became. We learned that we can't trust anything on the Web, but joly it is rather nice that you marked up your opening hours.

In the end the semantic Web uptake was on the data not the meta data.

Regards to the academic semweb grant story these same idiots are now chasing the cloud with out a clue. And before it was grid.

For some fields there is uptake because it solves problems. But they hardly market themselves as semweb.it's more profitable to market they solve solutions.

> Sean B. Palmer, [...], posits that the real problem was the lack of a truly decentralized infrastructure to host the Semantic Web on. To host your own website, you need to buy a domain name from ICANN, configure it correctly using DNS, and then pay someone to host your content if you don’t already have a server of your own.

Exactly that was the lacking brick of true distributed linked (semantic) web which now has a chance to be fulfiled by IPFS/IPNS/IPLD or some upcoming standarized equivalent.

Blogger/blogspot and RSS. We already had it, and still have it. It's not as pretty as Instagram, though. It's all over.
The RDF-based RSS versions never saw anywhere near as much adoption as the non-RDF based ones, though.
For the same reason graphical programming languages are still unpoular, and the command line still rules: inputting normalized tags is many orders of magnitude harder than typing free text. Even on an adaptive touch interface. Even with tag completion. Even with a template to fill in. And when you do manage to input some well formed AST for your todo list, you're on an island by yourself, because everyone else is using free text (or their own, different tags or syntax). Because even if you have the same structure, you also need to use the same tags! What language are they supposed to be in?! They might as well be unique numbers unless you speak that language.

It's facepalms all the way down.

I took TBL's Semantic Web class ("Linked Data Ventures") when I was a grad student in the fall of 2010. The class was well structured, and included an introduction to basic concepts and languages, lectures by people using it in production environments, and group projects. I wrote an account of the first class here (http://www.ilamont.com/2010/09/encounter-with-tim-berners-le...) and you can see a demo of the rudimentary educational app our team built here (http://www.ilamont.com/2011/03/challenges-of-creating-mobile...).

As the title of the class indicates, the idea was to encourage the creation of real-world applications, and to that end the class groups were encouraged to have a mix of Course 6 and business school team members. At the time, it seemed that the Semantic Web was more of an academic/open source project rather than something that was widely embraced by developers, although some guest speakers did have working applications at their places of business. I think the hope was to seed the Cambridge startup ecosystem with SW/Linked Data examples that could encourage its spread into the real world.

One of the teams in our class actually turned their project into a startup that was later acquired. I ran into one of the co-founders a few years later and asked if they continued to use the Semantic Web/Linked Data model that they had demoed in class. The answer: No, because it couldn't scale. That was an issue that was anticipated and discussed during the class, but there was hopeful talk that scaling issues would be resolved in the near future through various initiatives.

On a related note, I'd also be interested to know how the semantic web was related to the rise of "knowledge graphs". That's another term that we heard about for a while (and clearly was implemented - Facebook, Google and Microsoft have them, for example), but I haven't heard much more publicly for a while.
What happened is that the technology spawned by the Semantic Web "fad" is now absolutely everywhere but it looks and works nothing like how people thought it would.

Freebase, after being bought by Google became the foundation of the Google Knowledge Graph (aka "things not links"). This kicked off an arms race between all the major search providers to build the largest and most complete knowledge graphs (or at least keep pace with Google [1]). Instead of waiting for folks to tag every single page, it turned out that simple patterns cross referenced across billions of pages were good enough to extract useful knowledge from unstructured text.

Some companies who had easier access to structured but dirty data (like LinkedIn and Facebook) were also able to utilize (and contribute to) all of that research by building their own knowledge graphs with names like the Social Graph and Economic Graph. Those in turn are helping to power a decent amount of their search and ad targeting capabilities as well as spawning some interesting work[2]

All those knowledge graphs became a major part of Siri, Alexa and Google Home's ability to answer a wide range of natural language queries. As well as being pretty fundamental to a lot of tech like semantic search, improved ecommerce search and a bunch of intent detection approaches for chatbots.

So yeah while the technology and associated research did turn out to be incredibly useful, adding fancier meta-tags to pages was not the direction that proved the most useful.

[1] https://ai.google/research/pubs/pub45634 [2] https://research.fb.com/publications/unicorn-a-system-for-se...

The problem with all this is that Google, Facebook, Linkedin et al are private companies, so their knowledge graphs are, well, theirs.

The idea with the semantic web was that it would be open and it would belong to its users, not to some cabal of giant corporations that would use it to control the internets.

That notion of openness and co-authorship of the knowledge on the web is now as dead as the parrot in the Pythons skit. And we're all much the worse for it- see all the debates about privacy and ownership of personal information and, indeed, metadata.

IIRC, Common Crawl exposes the semantic data from the sites they crawl. One could build their own knowledge graph (or at least bootstrap one) from that and other available data sources (DBPedia, WikiData etc.)
That's not sufficient - the "private" knowledge graphs of e.g. Google aren't "crawlable", they aren't public and don't (solely) rely on the sites. DBPedia+Wikidata+all other open data sources are not sufficient for a good knowledge graph that can be competitive (in terms of coverage, thoroughness, and recency of updates) with what the megacorps can afford to maintain behind closed doors.
> Imagine a Facebook that keeps your list of friends, hosted on your own website, up-to-date, rather than vice-versa. Basically, the Semantic Web was going to be a web where everyone gets to have their own personal REST API, whether they know the first thing about computers or not.

Sounds more or less like what the Urbit project (https://urbit.org/) is trying to accomplish. Not an endorsement; it has serious flaws just like everything else. This is a very hard problem to solve. But I sure do hope someone manages to figure it out.

Standards compliance is short-term expensive, someone like Facebook would have to make it cheap and/or dangle a carrot to make it worth it
As it is now, the one who provides the data is the one who pays for everything (production, storage, compute, bandwidth), while middleman search engines take all the money. What if the middleman was required to pay a fee to index the data ? For example build money transactions into the HTTP protocol, where web sites could automatically ask for a small fee in order to "see more".
No website would ask for the fee for SEO reasons.
IIRC, the (by some definition) original hypertext system, Xanadu, had this. It was supposed to (among many other things) keep track of who quoted who and how much and make sure everybody got paid fairly. It was much too complex and never got anywhere, and was completely replaced when the WWW came along with its dead simple model of URLs and HTML.
Rest API/JSON is the de facto industry standard for data exchange. No need to parse and extract data from semantic tags.
(comment deleted)