- From: Martynas Jusevičius <martynas@atomgraph.com>
- Date: Thu, 4 Jun 2020 15:25:42 +0200
- To: Miel Vander Sande <miel.vandersande@meemoo.be>
- Cc: Doerthe Arndt <doerthe.arndt@ugent.be>, Jos De Roo <josderoo@gmail.com>, public-rdf-star@w3.org
I think SPIN rules were meant to address that: https://spinrdf.org/spin.html#spin-rules On Thu, Jun 4, 2020 at 3:21 PM Miel Vander Sande <miel.vandersande@meemoo.be> wrote: > > Hi Martynas, > > Yes, but Tim emphasized "I could do that with a SPARQL query, but that doesn't seem right -- I'd like to make this constraint be part of the schema/ontology." > > Cheers, > > Miel > > Op do 4 jun. 2020 om 14:31 schreef Martynas Jusevičius <martynas@atomgraph.com>: >> >> Hi, >> >> none of the examples above seem to contain anything that cannot be “inferred” using SPARQL (e.g. CONSTRUCT). >> >> >> Martynas >> >> On Thu, 4 Jun 2020 at 10.57, Doerthe Arndt <doerthe.arndt@ugent.be> wrote: >>> >>> Dear Finn, >>> >>> I can update that the example you describe below is now supported in the EYE reasoner (thanks to Jos de Roo). For more information, see https://github.com/w3c/N3/issues/27 >>> >>> Kind regards, >>> Doerthe >>> >>> >>> Am 03.06.20 um 14:31 schrieb Doerthe Arndt: >>> >>> Dear Finn, >>> >>> I was very interested in reading about your idea about having rules on top of RDF*. I work in the N3 community group where we aim to propose a standard for N3, another rule-language for the semantics web. N3 already supports citation of graphs (not triples as RDF*). >>> >>> In N3 you can express triples including graphs >>> >>> {:man :hasSpouse :woman} :startDate "1970-01-01"^^xsd:date . >>> >>> and you can write rules on top of your triples like for example: >>> >>> >>> { {?P1 :hasSpouse ?P2} :startDate ?D } => { {?P2 :hasSpouse ?P1} :startDate ?D}. >>> >>> This rule applied to the previous triple would actually result in >>> >>> {:woman :hasSpouse :man} :startDate "1970-01-01"^^xsd:date . >>> >>> >>> We would like to align with RDF* but it will also depend on RDF*'s semantics whether we can assume that cited N3 graphs containing one single triple are actually the same as RDF* expressions, i.e. whether >>> >>> {:man :hasSpouse :woman} :startDate "1970-01-01"^^xsd:date . and <<:man :hasSpouse :woman>> :startDate "1970-01-01"^^xsd:date . >>> >>> have the same meaning. If that will be the case, the derivation you propose is already supported by N3. Otherwise, we need to see how these constructs relate. >>> >>> If you want to play with N3, you can try our online tutorial of N3: https://n3.restdesc.org/ >>> In the tutorial there are different reasoning windows which actually call the EYE reasoner ( http://eulersharp.sourceforge.net/) in the background. So, if you want a first try, you can add your facts and rules and press "Execute EYE". If you would like to include OWL-RL, you can find the rules here: http://eulersharp.sourceforge.net/2003/03swap/eye-owl2.html >>> >>> Of course that is not RDF* yet, but when the semantics is fixed we plan to improve here. >>> >>> Kind regards, >>> Doerthe >>> >>> >>> Am 01.06.20 um 04:36 schrieb Tim Finin: >>> >>> I'm late to the game and just started experimenting with RDF* using Stardog's implementation. It didn't take me long to realize that I was not in Kansas anymore. :-) >>> >>> I started with a simple example: >>> >>> <<:man :hasSpouse :woman>> :startDate "1970-01-01"^^xsd:date . >>> >>> >>> and thought to add >>> >>> >>> :hasSpouse a owl:SymmetricProperty . >>> >>> Stardog did the right thing and added a triple <<:woman :hasSpouse :man>>, so I was happy. >>> >>> But then wanted to add a general way to represent the constraint that >>> >>> <<?P1 :hasSpouse ?P2>> :startDate ?D => <<?P2 :hasSpouse ?P1>> :startDate ?D >>> >>> >>> This seemed very reasonable, at least for the normal semantics for the human spouse relation. >>> >>> I don't think there is a way to enforce this in OWL DL and assume that there's no version of SWRL that can handle RDF*. I'm unsure if a SWRL rule using the reification model will work and even if it does, it seems to defeat the purpose of RDF*. >>> >>> I could do that with a SPARQL query, but that doesn't seem right -- I'd like to make this constraint be part of the schema/ontology. >>> >>> Is anyone aware of work on a SWRL reasoner that can work with RRF*? >>> >>> Tim >>> >>> -- >>> Tim Finin, Willard and Lillian Hackerman Chair in Engineering, Computer Science and >>> Electrical Engineering, U. Maryland, Baltimore County, 1000 Hilltop Circle, Baltimore MD >>> 21250. http://umbc.edu/~finin, finin@umbc.edu, tfinin@gmail.com, mobile:410-499-3522 >>> >>> -- >>> Dörthe Arndt >>> Researcher Semantic Web >>> imec - Ghent University - IDLab | Faculty of Engineering and Architecture | Department of Electronics and Information Systems >>> Technologiepark-Zwijnaarde 122, 9052 Ghent, Belgium >>> t: +32 9 331 49 59 | e: doerthe.arndt@ugent.be >>> >>> -- >>> Dörthe Arndt >>> Researcher Semantic Web >>> imec - Ghent University - IDLab | Faculty of Engineering and Architecture | Department of Electronics and Information Systems >>> Technologiepark-Zwijnaarde 122, 9052 Ghent, Belgium >>> t: +32 9 331 49 59 | e: doerthe.arndt@ugent.be
Received on Thursday, 4 June 2020 13:26:11 UTC