HyperAgents / hmas

An ontology to describe Hypermedia Multi-Agent Systems, interactions, and organizations.
https://purl.org/hmas/
1 stars 0 forks source link

Are we open to other engines e.g. RDF* engines? #141

Closed DrLeturc closed 1 year ago

DrLeturc commented 1 year ago

Hi,

I'm working on the regulation part and in regulation we must describe the states of the world to know if e.g. a norm is applicable or not under certain circumstances, what says the norm about "how the world ought to be?", etc.

In order to talk about those states of affairs of the world in a finer-grained analysis, we need reification.

By benchmarking how we can do that, there are four ways :

So my question is : are we open to other engines e.g. RDF* engines?

FabienGandon commented 1 year ago

As a personal opinion, I see no reason for not using RDF in you case and for me your need is one of the motivating scenarii of RDF so I would be in favour of using RDF* engines when we need it.

Antoine-Zimmermann commented 1 year ago

The argument of size for RDF reification is an extremely weak one. Going in this direction, you could say "managing relational tables in Oracle databases is bad because OracleDB multiplies the size of the data by adding indexes and materialised views. It is best to manage tabular data by storing zipped CSV files." The size of the abstract syntax is irrelevant, especially if it's just linear in terms of some initial data set.

Singleton property is not standard, is not used by any commercial vendors, is hardly used by anyone, does not have an "engine" that implements it or any implementation that helps dealing with these properties, and the formal specification from the reference paper is really not what you want.

RDF* (renamed to RDF-star) is not standard and does not have any more standard semantics than named graphs have. If there is a thing called "RDF-star engine", then it is simply a syntax parser and nothing more. There are also SPARQL-star engines. But I guess what you want is a reasoning engine. There is no such thing as an "RDF-star reasoning engine". Considering how the discussions on RDF-star semantics have been going for the past years and how they are currently going in the RDF-star working group, it is unlikely that RDF-star will be a satisfying solution for you, from a semantic point of view.

My recommendation would be to use named graphs. They have been part of the SemWeb standard stack since 2008, are implemented in all SPARQL engines, are part of RDF 1.1 since 2014, have syntaxes and parsers, and APIs supporting them. The semantics being undefined (or underdefined), you can extend it in any way you'd like. We can build "RDF-diamond", an extension of RDF to support modal logics.

If you ever get interested in the technical details of RDF-star to build a logic on top of it, your life will become very sad and stressful, I assure you.

Antoine-Zimmermann commented 1 year ago

Another option would be to use Notation3 (N3). It has been around for way longer than RDF-star and is much more powerful. The work on N3's semantics is more serious than in RDF-star, although there are issues with it too.

FabienGandon commented 1 year ago

In our discussions with Christopher we came to the conclusion that in his case using RDF1.1 named graphs or RDF* quoted triples didn't have a big implication on what he wanted to do and that you could even do both in the state of the art.

But I understand and subscribe to your arguments for named graphs.

I also think it is good to add N3 to the state of the art, but the status, support and adoption of N3 wouldn't make it a good candidate unless it was to be picked up by a W3C WG (which IMHO would be nice if they also work on the N3 rules)

DrLeturc commented 1 year ago

After discussion at the heartbeat meeting on 16 June 2023, we decided to close this issue because it is now deprecated.