Re: Semantic Event Systems

Hiya,

Huh, interesting. Well, looks like a good but fairly complex core / upper
ontologies. It's there some Topic Maps in the history of it all? Topics and
Occurrences and so on, defining them in Data models, etc. That's the world
I originally started from.

The key is still finding a good model for the relationships / associations
between things, moving from a knowledge map into workflows and outcomes and
intentions and all that hard stuff. :)


Cheers,

Alex


On Thu, 12 May 2022, 17:47 , <hans.teijgeler@quicknet.nl> wrote:

> Hi Alexander,
>
> Try this: https://15926.org/topics/data-model/index.htm plus
> https://15926.org/topics/extended-data-model/index.htm plus
> https://15926.org/topics/cheat-sheet/index.htm
>
> Regards, Hans
> 15926.org/
>
> -----Original Message-----
> From: Alexander Johannesen <alexander.johannesen@gmail.com>
> Sent: donderdag 12 mei 2022 09:05
> To: Adam Sobieski <adamsobieski@hotmail.com>
> Cc: Mark Wallace <mark.wallace@semanticarts.com>; semantic-web@w3.org
> Subject: Re: Semantic Event Systems
>
> Hiya,
>
> Yeah, I've dabbled in this space for almost 20 years, but interoperability
> and ontology knowledge in general has always been a problem for any wide
> use of this. However I still maintain that the solution to the current
> "event salad" problem that was supposed to solve the "package salad" which
> was supposed to solve the "object-oriented dependency-injection salad"
> which was supposed to solve the more general "code salad", a ontology-based
> salad bowl of sorts still looks like a better solution.
>
> The Gist ontology is a reasonable starting point, but it gets messy
> quickly as the concept of software parts don't match well to the semweb
> best practices which pretty much all the tools are focused around
> (references, instances, subjects, etc.). I've written a few good
> tree-structured linear stacks that together make for a reasonable (when put
> together in a non-linear fashion) ontological shape that can be populated,
> but ...
>
> Well, it comes down to how you view your usage of it, and whether you're
> using the ontologies to define and build your software, or if you also
> intend to have your software react to that ontological world.
> My current thinking and what I'm currently working on is defining a core
> ontology for two fundamental things; Event (conceptual communication), and
> Plugin (code interfaces). With these two I'm sub-typing and reifying an
> ontology that both builds and reacts to the ontology. The real trick is to
> shape an ontological structure that a) follows what your app needs to do,
> and b) follows a natural communication flow both you and the app can follow.
>
> There's a big danger in over-engineering these things, and soon that great
> idea is too slow to use and/or too hard to develop. I think the trick here
> is to create small loosely-coupled and immutable plugins that all speak a
> small but effective ontological language. For example, my current
> implementation don't define any typed event entities (ie.
> EventUserMouseClick), only actions and reactions against known datatypes
> (similar to API branch-points; e.
> ConvertStreamedCoordinates) where plugins themselves define what types of
> data they support for what action (that way I don't need to know; the
> plugin manager hooks plugins to API access-points on-demand).
> Anyways, early days.
>
> If there's anything else out there, I haven't stumbled upon it yet, but
> would love to know more. I'm not very formal in my definitions, and due to
> the lack of good, simple implementations and general geek ontology
> understanding, I tend to focus on typed entity structures (ie. I can
> simulate a lot of the semweb toolbox in Map implementations in different
> languages) as a proxy for a simplified query language.
> How my app responds to (and possibly edits) the ontology is a different
> question, of course.
>
> Hope any of that is useful.
>
>
> Cheers,
>
> Alex
>
> On Thu, May 12, 2022 at 3:26 PM Adam Sobieski <adamsobieski@hotmail.com>
> wrote:
> >
> > Mark,
> >
> >
> >
> > Thank you for indicating the Gist ontology, e.g., “gist:Event”.
> >
> > As interesting, my current sketches of semantics-enhanced software event
> sources and listeners are available in the Nifty project (
> https://github.com/AdamSobieski/Nifty).
> >
> > Here is a hyperlink to a relevant section of source code:
> https://github.com/AdamSobieski/Nifty/blob/19037dca00ff74a75b8d53abc47fc8498963f906/Nifty/Nifty.cs#L200
> . Note: on line 209, a triple is constructed by passing arguments to a
> factory method using a predicate-subject-object sequence instead of a
> subject-predicate-object sequence.
> >
> > Semantics-based approaches to software events (and messages) are
> flexible and extensible. Benefits of semantics-based approaches to software
> events (and messages) include that listeners could, beyond subscribing to
> events (or messages) based on their types, utilize semantic queries to
> further describe those events (or messages) of interest. This could be
> performed between software components on the same computing device or
> between software components across computing devices.
> >
> >
> >
> >
> >
> > Best regards,
> >
> > Adam
> >
> >
> >
> > From: Mark Wallace <mark.wallace@semanticarts.com>
> > Sent: Tuesday, May 10, 2022 8:34 AM
> > To: Adam Sobieski <adamsobieski@hotmail.com>; semantic-web@w3.org
> > Subject: RE: Semantic Event Systems
> >
> >
> >
> > "Gist" is a small but general ontology that includes gist:Event as a
> top-level concept.
> >
> > See
> >
> > https://www.semanticarts.com/gist/
> >
> > and
> >
> > https://ontologies.semanticarts.com/o/gistCore.ttl
> >
> > Very respectfully,
> >
> > -Mark Wallace
> >
> >
> >
> > From: Adam Sobieski <adamsobieski@hotmail.com>
> > Sent: Thursday, May 5, 2022 4:28 AM
> > To: semantic-web@w3.org
> > Subject: Semantic Event Systems
> >
> >
> >
> > Semantic Web Interest Group,
> >
> >
> >
> > Hello. I write, today, about ontologies describing events in the sense
> of computer software, where software objects can produce, or raise, events
> and other software objects can subscribe to consume, to receive, or to
> listen to, these events.
> >
> > Here is a C# example of a semantic event system:
> >
> >
> >
> > public interface IHasUri
> >
> > {
> >
> >     public Uri Uri { get; }
> >
> > }
> >
> >
> >
> > public interface IHasReadOnlyMetadataGraph : IHasUri
> >
> > {
> >
> >     public IReadOnlyMetadataGraph Metadata { get; }
> >
> > }
> >
> >
> >
> > public interface IEventSource : IHasReadOnlyMetadataGraph
> >
> > {
> >
> >     public Task Raise(Uri instance, IReadOnlyMetadataGraph data);
> >
> >
> >
> >     public bool Subscribe(Uri category, IEventHandler listener);
> >
> >     public bool Unsubscribe(Uri category, IEventHandler listener);
> >
> > }
> >
> >
> >
> > public interface IEventHandler
> >
> > {
> >
> >     public Task Handle(IEventSource source, Uri instance,
> > IReadOnlyMetadataGraph data);
> >
> > }
> >
> >
> >
> > As one can see, event handlers can subscribe to and unsubscribe from
> event sources and can do so by specifying entire categories of, or types
> of, events which they are interested in.
> >
> > As envisioned, there would be an ontology for these scenarios which
> would include a top-level type for events, various kinds of events, and
> relations between things and the events which they produce and consume.
> >
> > I wonder, have others previously considered these ideas about semantic
> event systems? Are there any existing ontologies describing software
> events? Thank you.
> >
> >
> >
> > Best regards,
> >
> > Adam Sobieski
> >
> >
>
>
>
> --
>  Information Alchemist, tone modulator, swords master  thinkplot.org |
> linkedin.com/in/shelterit | sheltered-objections.blogspot.com
>
>
>

Received on Thursday, 12 May 2022 08:15:23 UTC