# Towards N-ary Predicate Calculus in TriG

Date: Fri, 9 Dec 2022 09:10:55 +0000

Message-ID: <PH8P223MB06752E1758379B7991B77F8BC51C9@PH8P223MB0675.NAMP223.PROD.OUTLOOK.COM>
```Semantic Web Interest Group,

Hello. What do you think of this rough-draft sketch with respect to a mapping from n-ary predicate calculus to TriG?

@prefix calculus: <http://www.w3.org/community/planning/calculus/ontology#> .
@prefix example:  <http://example.org/#> .
@prefix owl:      <http://www.w3.org/2002/07/owl#> .
@prefix rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .

example:x  rdf:type    calculus:Variable ;
calculus:type  owl:Thing .

example:y  rdf:type    calculus:Variable ;
calculus:type  owl:Thing .

example:z  rdf:type    calculus:Variable ;
calculus:type  owl:Thing .

example:p1  rdf:type      calculus:Predicate ;
calculus:accepts  ( owl:Thing owl:Thing owl:Thing ) ;
calculus:arity    "3"^^xsd:int .

example:p2  rdf:type      calculus:Predicate ;
calculus:accepts  ( owl:Thing owl:Thing owl:Thing ) ;
calculus:arity    "3"^^xsd:int .

example:g1  rdf:type  calculus:ConjunctiveExpressionSet .

example:g2  rdf:type  calculus:ConjunctiveExpressionSet .

example:g3  rdf:type  calculus:ConjunctiveExpressionSet .

example:g1 {
example:p1  calculus:holdsFor  ( example:x example:y example:z ) .
}

example:g2 {
example:p2  calculus:holdsFor  ( example:x example:y example:z ) .
}

example:g3 {
example:g1  calculus:implies  example:g2 .
// or calculus:implies  calculus:holdsFor  ( example:g1 example:g2 ) . ?
}

Best regards,