@prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix log: . @prefix list: . @prefix math: . @prefix e: . @prefix dct: . @prefix homotypic: . ## Extend a ?unity that has homotypic parts # (i.e. a rdf:List that consists of members that are of the same owl:Class as ?unity) # with those properties of its parts # for which ?unity has a owl:minCardinality of 1, if ?unity lacks such a property. ## # (*1) CHECK owl:minCardinality 1 is false # from https://raw.githubusercontent.com/nie-ine/N3-rule-based_machine-reasoning/master/machineReasoning_cardinality/machineReasoning_cardinality_input/cardinality-rules.n3 { ?unity a [owl:onProperty ?property; owl:minCardinality "1"^^xsd:nonNegativeInteger]; a ?class; homotypic:hasHomotypicParts ?list . ?SCOPE e:findall (?o {?unity ?property ?o} ()). # (*1) empty list ?part list:in ?list; a ?class; ?property ?object . } => { ?unity ?property ?object . }.