- From: Alexander Johannesen <alexander.johannesen@gmail.com>
- Date: Thu, 12 May 2022 18:14:58 +1000
- To: hans.teijgeler@quicknet.nl
- Cc: Adam Sobieski <adamsobieski@hotmail.com>, Mark Wallace <mark.wallace@semanticarts.com>, Semantic Web <semantic-web@w3.org>
- Message-ID: <CAF89bCBx4YbfyS7d29vxSkE+uWdY4xb9D8+oO4k_VS=RRFafxw@mail.gmail.com>
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