Re: Notation3 Community Group Report Release

The eye reasoner is implementing the 120 rif built-ins, see
https://github.com/eyereasoner/eye/tree/master/reasoning/rif
The list of built-ins that eye implements is at
https://github.com/eyereasoner/eye/blob/master/eye-builtins.n3

The rdfs plus owl rules that eye implements are at
https://github.com/eyereasoner/eye/tree/master/reasoning/rpo

Jos

-- https://josd.github.io


On Sat, Jul 8, 2023 at 12:06 AM Paul Tyson <phtyson@sbcglobal.net> wrote:

> I have not been following the N3 community group, but regarding builtins
> did you consider the RIF collection? [1].
>
> Due to timing of various working groups at the time they were unable to
> harmonize completely between the xpath, sparql, and RIF built-in
> definitions, but in my experience the RIF collection was the most extensive
> (about 10 years ago).
>
> Regards,
> --Paul
>
> [1] https://www.w3.org/TR/2013/REC-rif-dtb-20130205/
> On 7/7/23 09:09, Doerthe Arndt wrote:
>
> Dear Ivan,
>
> Just one quick answer:
>
> I am not even sure whether the built-ins are always required (most likely
> not), but they are in the files we shared to make the reasoning performant.
> An example for eq-diff3 without built-ins (apart from rdf:first and
> rdf:rest which you could understand as built in) is here:
> https://n3-editor.herokuapp.com/n3/editor/s/Fa712hqP
>
> But your point is interesting: the built-ins should relate to other
> standards. So far we are trying to find out which built-ins we need to
> fully implement SPARQL with all its filter functions, that goes into the
> same direction. We will certainly keep your comment in mind.
>
> Kind regards,
> Dörthe
>
>
> Am 07.07.2023 um 15:14 schrieb Ivan Herman <ivan@w3.org>:
>
> Doerthe, William,
>
> thank you both for the answers. If I understand the references right (I
> cannot get behind the paywall of Springer for the some of them) the
> implementation of features like property chain axioms rely on suitable
> built-ins; I expected that, although I was not sure (I do not have
> experience with n3 usage beyond the documentation).
>
> Which raises one more question to me, looking ahead to a possible full
> standardization path of n3 at W3C: if we ever get to that point, it may
> look much better if the final standard on built-ins included the definition
> of those that are necessary to implement OWL 2 RL (I do not know about OWL
> 2 EL). The relationship among the different technologies published by W3C
> is always a question, and this may come up during a formal review, for
> example. Just a thought…
>
> Thanks!
>
> Ivan
>
> On 7 Jul 2023, at 14:27, Doerthe Arndt <doerthe.arndt@tu-dresden.de>
> wrote:
>
> Dear all,
>
> The OWL-RL rules are for example available for at the EYE repository (note
> that these rules are the rules from the OWL2 spec inheriting the problems
> these might have):
> https://eulersharp.sourceforge.net/2003/03swap/eye-owl2.html
>
> Some of the rules use built-in functions like for example eq-diff3 which
> Ivan mentioned below:
> https://eulersharp.sourceforge.net/2003/03swap/owl-distinctMembers.html
>
> In the past, I used some optimizations to make the reasoning faster
> (paper: https://link.springer.com/chapter/10.1007/978-3-319-33245-1_10),
> if you are interested, I can also provide the rules.
>
> I am sure that N3 can also cover OWL-EL (there is for example this nice
> tutorial where this has been implemented in existential rules
> https://iccl.inf.tu-dresden.de/web/Rules_ECAI_Tutorial_2020/en). N3
> supports existential rules, so OWL-EL is possible, but we do not have not
> even the basic rules yet and no optimization of any kind.
>
> To also answer the questions:
>
> 1. SPARQL works over the output of both kinds of reasoning, all it needs
> is an RDF graph. However, in N3 (at least with EYE and Cwm, most likely
> also with jen3) you can also specify filter rules or queries. You basically
> mark certain rules as queries and the reasoning run will give you only the
> results of these particular rules as output. In EYE you can even produce
> csv with that. As N3 supports many built-ins, such rules might be an
> alternative for queries. We are also currently working on the translation
> from SRARQL to N3, but this is work in progress.
>
> 2. N3 follows the open world assumption, but it allows scoped negation as
> failure. More concretely that means that you can ask the reasoner whether
> something can be derived from  the facts and rules you gave as input. One
> of the predicates using a scope is log:collectAlIn (see
> https://w3c.github.io/N3/reports/20230703/builtins.html#log:collectAllIn).
> If you’d like to use the predicate to express negation, use an empty list
> as argument (example: https://n3-editor.herokuapp.com/n3/editor/s/9J0rKNEm).
> Feel free to ask for further details if you are interested :)
>
> Kind regards,
> Dörthe
>
>
> Am 06.07.2023 um 18:19 schrieb Christopher Yocum <cyocum@gmail.com>:
>
> Dear Ivan and William,
>
> Thank you very much for your explanations.  This was very helpful.  I
> am intrigued by the differences.
>
> I tend to use OntoText GraphDB with OWL2 RL with my data as I have an
> ontology which works for my use case (Medieval Irish Genealogies).  I
> assume that SPARQL will work over both?  One thing about OWL2 that is
> sometimes difficult to grasp is the Open World Assumption. Does N3 use
> "Open World" or is it a "Closed World"?
>
> Thank you again for your time.
>
> All the best,
> Chris
>
> On Thu, Jul 6, 2023 at 4:23 PM Ivan Herman <ivan@w3.org> wrote:
>
>
> William, (and Christopher)
>
> just to add one thing to the comparison.
>
> Where N3 and OWL 2 "meet" in some ways is the RL profile of OWL 2[1]. This
> is a "subset" of OWL 2 that can be implemented using rules. Actually, the
> spec includes the list of rules[2] that can be implemented, e.g., by a
> forward chaining engine, to offer an OWL 2 reasoner. I think it would be
> worthwhile to add a comparison of N3 with OWL 2 RL in the document, b.t.w.
>
> Cheers
>
> Ivan
>
> (At a first glance, the translation most of the rules in [2] into N3 looks
> trivial, ie, it is possible to create an N3 "graph" that can be used as a
> set of OWL 2 RL axioms. There are some rules where, I must admit, I do not
> see at first glance how to make this translation in general, like eq-diff3,
> prp-spo2; these all are not "rules" in [2] but more a family or rules for
> lists.)
>
> [1] https://www.w3.org/TR/owl2-profiles/#OWL_2_RL
> [2]
> https://www.w3.org/TR/owl2-profiles/#Reasoning_in_OWL_2_RL_and_RDF_Graphs_using_Rules
>
> On 6 Jul 2023, at 16:11, William Van Woensel <william.vanwoensel@gmail.com>
> wrote:
>
> Thanks for your question. (The report does have a section on relations
> with other languages, but it does not include OWL2!)
>
> Both are declarative formalisms for describing your domain or problem -
> you can then let a reasoner fill in the blanks or try and solve the
> problem. But, they differ in the kind of logic and reasoning they apply.
> Their usefulness depends on your use case, and, to some extent, your
> personal preferences.
>
> TL;DR
> OWL2 is related to Description Logics - you define class expressions in
> terms of constraints on their individuals, and then use a reasoner (such as
> hermit, pellet,...) to find inconsistencies, classify individuals (put them
> under the right class), or determine subsumption (subclass relations).
> Notation3 (N3) is a rule language - you can define logical implications,
> basically if-then rules, which state what can be inferred from other
> triples. A reasoner (such as eye, cwm or jen3) can then generate all
> applicable inferences given a set of triples. In addition, N3 has builtins
> for math, string, time and other operations, as well as builtins for scoped
> negation as failure (to "close" the world to an extent).
>
> Longer answer: The question is complex and has multiple aspects. Since you
> asked from a developer point of view I try to emphasise that aspect.
>
> OWL2 DL is based on description logics, which is a decidable fragment of
> first order logic. Decidability is a big advantage, but it also comes with
> certain restrictions on the things you can and can’t express. Intuitively,
> you rather think about classes and subclasses in which you can or cannot
> put individuals. OWL2 allows disjunctions (“or”) which are only partly
> supported by rule-based reasoning. If you want to add rules to that “class
> world", you can use SWRL.
>
> N3 is a rule language for the Web. That means you can directly state which
> triples should be derived by which other triples. As N3 allows you to write
> rules introducing new blank nodes, we know that N3 - even without any
> built-ins or exotic patterns - is not decidable, because logically, we are
> dealing with existential rules. This, however, is in most practical cases a
> rather theoretical problem.
>
> That said, both OWL and N3 reasoners will sometimes need to capitulate and
> report a time-out for some corner cases.
>
> Hope that clarifies matters.
>
>
> William & Doerthe
>
> On Jul 5, 2023, at 3:00 PM, Christopher Yocum <cyocum@gmail.com> wrote:
>
> Hi,
>
> This seemed interesting so I went to have a look at it.  After reading
> a good part of the primer, I am wondering what the difference between
> N3 and OWL2 are and why I would choose one over the other or if they
> are complementary, how they relate to each other?  Is there a resource
> that covers this for the "middle of the road" developer? I did a quick
> Google but I am not coming up with anything that might help
> immediately.
>
> Thanks and all the best,
> Chris
>
> On Wed, Jul 5, 2023 at 6:12 AM Ivan Herman <ivan@w3.org> wrote:
>
>
> Putting my W3C staff member's hat on… As Doerthe says below, N3 is not
> just a minor extension to RDF 1.2, so adding it now to the RDF Star WG's
> work would go beyond the charter of that WG. I believe it would be more
> appropriate for the N3 Community Group to prepare itself to propose a bona
> fide Working Group charter that would be scheduled to kick in once RDF 1.2
> is properly closed. It will then have to go through the usual hooplas at
> W3C to get the charter (hopefully) accepted by the W3C membership and do
> the rest of the work to turn it into a formal Recommendation.
>
> Hans, this is not a dumb suggestion at all.
>
> Cheers
>
> Ivan
>
> On 4 Jul 2023, at 14:04, Doerthe Arndt <doerthe.arndt@tu-dresden.de>
> wrote:
>
> Dear Hans,
>
> It is a very good idea to combine efforts on N3 and RDF 1.2, but I am
> afraid that N3 is too complex to be added directly to RDF 1.2. More
> concrete: N3 allows the use of graphs as terms just like RDF-star supports
> triples as terms. The latter already causes a lot of discussions since
> different potential users (naturally) have different expectations. I guess
> a more complex construct of similar nature will even create more tension.
>
> Therefore, the N3 working group plans to wait for the outcome of RDF 1.2
> to then incorporate the (possible) changes of RDF to N3. Note that some
> reasoners like for example EYE (https://github.com/eyereasoner/eye)
> already support RDF-star. So far, I do not see major problems if we want to
> include RDF-star to N3 (of course that will also depend on the semantics
> chosen, EYE currently follows the community group report).
>
> Kind regards,
> Dörthe
>
>
>
> Am 04.07.2023 um 10:16 schrieb hans.teijgeler@quicknet.nl:
>
> Is it a dumb suggestion to combine this N3 effort with the earlier
> reported RDF 1.2 one, in order to avoid divergence?
>
> -----Original Message-----
> From: David Booth <david@dbooth.org>
> Sent: Monday, 3 July 2023 21:11
> To: semantic-web@w3.org
> Subject: Re: Notation3 Community Group Report Release
>
> On 7/3/23 13:29, William Van Woensel wrote:
>
> We are happy to inform you that the first Notation3 Community Group
> Report has been released: https://w3c.github.io/N3/spec/
> <https://w3c.github.io/N3/spec/>
>
>
> Awesome!   Great work!
>
> Thanks,
> David Booth
>
>
>
> Notation3 (also known as N3) is an assertion and logic language that
> is a superset of Turtle, featuring logical implications (rules), graph
> terms, and builtins ranging from datatype operations to accessing
> online knowledge and performing scoped negation as failure.
>
> We also created an educational resource as a lightweight introduction
> to
> Notation3 (which also lists currently available resources):
> https://notation3.org/ <https://notation3.org/>
>
> We invite you to submit any feedback or issues to our GitHub page:
> https://github.com/w3c/N3 <https://github.com/w3c/N3>
>
>
> Kind regards,
>
> W3C N3 CG Group
>
>
>
>
>
>
>
> ----
> Ivan Herman, W3C
> Home: http://www.w3.org/People/Ivan/
> mobile: +33 6 52 46 00 43
>
>
>
>
>
>
> ----
> Ivan Herman, W3C
> Home: http://www.w3.org/People/Ivan/
> mobile: +33 6 52 46 00 43
>
>
>
>
>
> ----
> Ivan Herman, W3C
> Home: http://www.w3.org/People/Ivan/
> mobile: +33 6 52 46 00 43
>
>
>
>

Received on Friday, 7 July 2023 22:55:16 UTC