RE: Semantic Event Systems

Hi Alex,

 

Please see https://15926.org/home/15926_template_specs.php and https://15926.org/topics/templates-as-ontologies/index.htm 

 

Regards, Hans 

 

From: Alexander Johannesen <alexander.johannesen@gmail.com> 
Sent: donderdag 12 mei 2022 10:15
To: hans.teijgeler@quicknet.nl
Cc: Adam Sobieski <adamsobieski@hotmail.com>; Mark Wallace <mark.wallace@semanticarts.com>; Semantic Web <semantic-web@w3.org>
Subject: 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 <mailto: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/ <http://15926.org/>  

-----Original Message-----
From: Alexander Johannesen <alexander.johannesen@gmail.com <mailto:alexander.johannesen@gmail.com> > 
Sent: donderdag 12 mei 2022 09:05
To: Adam Sobieski <adamsobieski@hotmail.com <mailto:adamsobieski@hotmail.com> >
Cc: Mark Wallace <mark.wallace@semanticarts.com <mailto:mark.wallace@semanticarts.com> >; semantic-web@w3.org <mailto: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 <mailto: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 <mailto:mark.wallace@semanticarts.com> >
> Sent: Tuesday, May 10, 2022 8:34 AM
> To: Adam Sobieski <adamsobieski@hotmail.com <mailto:adamsobieski@hotmail.com> >; semantic-web@w3.org <mailto: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 <mailto:adamsobieski@hotmail.com> >
> Sent: Thursday, May 5, 2022 4:28 AM
> To: semantic-web@w3.org <mailto: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 <http://thinkplot.org>  | linkedin.com/in/shelterit <http://linkedin.com/in/shelterit>  | sheltered-objections.blogspot.com <http://sheltered-objections.blogspot.com> 

Received on Thursday, 12 May 2022 09:48:39 UTC