[erlang-questions] digraph questions

Hugo Mills hugo@REDACTED
Tue Apr 9 13:01:00 CEST 2019

On Tue, Apr 09, 2019 at 09:24:50AM +0000, Mike French wrote:
> Yes, try Inception, or Memento, which has ~linear narrative of a
> non-linear character :)

   It's almost more interesting (and more relatable) to find cases
which aren't science fiction, which is why I picked Pulp Fiction and
CSI for examples of time travel and alternate universes respectively.

   There's also fun to be had over characters that appear in different
guises: Holmes as played by Rathbone, Brett or Downey, say, or Death
as portrayed in Discworld, Sandman, The Seventh Seal, or Bill and

> The problem with RDF is that everything is a subset of RDF. Just as
> I gave up formal methods when an expert told me that "floating
> point... that's still a research topic" (RAL 1990), so I gave up RDF
> when the philosophers started arguing about a Standard Upper
> Ontology (SUO), for things like space and time, which looked like it
> could last for decades. There should be a harder prequel CS deadlock
> problem called The Arguing Philosophers, about where to have dinner
> in the first place).

   Practical RDF, lesson 1: You can pretty much ignore anything that
calls itself an upper ontology, because it's mostly going to be
"here's all these obvious things, and we'll leave all the hard details
for you to sort out".

   There is, for example, a perfectly good time ontology (OWL Time,
from the W3C) which covers both topological and measured times, the
latter being open to multiple calendar representations (although they
concentrate on the proleptic Gregorian calendar in the spec).

   For spatial, there's a whole load of Geo-* stuff that works in two
dimensions, and mostly falls back on WKT. I've certainly seen a good
topological spatial representation, but that was nearly two decades
ago, and I think it's probably been lost since.

   The practical approach to RDF: pick what's already out there, and
what's practical to use now. Fill in the bits that aren't available
off the shelf yourself. Prov-O for processes, OWL Time for time, WKT
for spatial, QUDT for units, Data Cube for tablular structure, ...

> For a practical interactive system that uses graph-based spatio-temporal data, see Palantir. In addition to tagged text and table listings, it has 3 connected views of the same data: graph, map and timeline.
> StoryFlow cites XKCD as a reference:
> https://xkcd.com/657/
> ________________________________
> From: erlang-questions-bounces@REDACTED <erlang-questions-bounces@REDACTED> on behalf of Hugo Mills <hugo@REDACTED>
> Sent: Tuesday, April 9, 2019 11:43 AM
> To: lloyd@REDACTED
> Cc: erlang-questions@REDACTED
> Subject: Re: [erlang-questions] digraph questions
> On Mon, Apr 08, 2019 at 07:28:49PM -0400, lloyd@REDACTED wrote:
> >
> > The Erlang digraph library looks like it may provide an interesting way to diagram scenes in a novel.
> >
> > 1> Scene10 = digraph:new().
> >
> > Imagine:
> >
> > Setting:"park"
> > Character1:"Franco"
> > Character2:"Sophia"
> >
> > 2> digraph:add_vertex(Scene10, "Park", "Night").
> > 3> digraph:add_vertex(Scene10, "Franco", "Old and fat").
> > 4> digraph:add_vertex(Scene10, "Sophia", "Young and beautiful").
> > 5> digraph:add_edge(Scene10, "Franco", "Sophia", "loves").
>    Congratulations, you just invented a subset of RDF. :)
>    Also, I fear that contextus.net has now vanished, but there were a
> bunch of people at Southampton University about 10 years ago
> (including me) who were working on narrative descriptions in RDF.
>    It gets more complicated when you have to deal with temporal
> descriptions (X loved Y until X discovered that Y was having an affair
> with Z), and different narrative timelines (the audience's experience
> of the timeline of Pulp Fiction is very different to that of the
> characters; CSI usually shows multiple inconsistent views of the crime
> over the course of an episode). You can also start modelling different
> characters' beliefs (see, for example, the end of Romeo and Juliet,
> where the plot hinges critically on what people think they know).
>    I'm not sure if I've got any of the ontologies any more, but I can
> ask around the group and see if it's on someone's hard disk still...
>    Hugo.
> > OK to here EXCEPT command 5 returns:
> >
> > ['$e'|0]
> >
> > 6> digraph:add_edge(Scene10, "Sophia", "Franco", "hates").
> >
> > OK to here EXCEPT command 5 returns:
> >
> > ['$e'|0]
> >
> > 6> digraph:add_edge(Scene10, "Sophia", "Franco", "hates").
> > ['$e'|1]
> >
> > Wah!
> >
> > Question 1: How do I see labels?
> >
> > Question 2: Be cool to add a sequence of actions. I can probably figure this out, but is there an elegant solution?
> >
> > Question 3: I'd love to visualize the graph. I see it can be done in Elixir. But I don't know Elixir. Has anyone programmed a way to visualize digraphs in Erlang?
> >
> > Comment: Digraph is crying out for a comprehensive tutorial. I'd love to do it, but just don't know enough yet.

Hugo Mills             | Great oxymorons of the world, no. 3:
hugo@REDACTED carfax.org.uk | Military Intelligence
http://carfax.org.uk/  |
PGP: E2AB1DE4          |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20190409/3540eff4/attachment.bin>

More information about the erlang-questions mailing list