linkml-datalog Validation and inference over LinkML instance data using Soufflé schemadataoutput Person: attributes: name: identifier: true friend_of: multivalued: true range: Person symmetric: true in_network_of: range: Person multivalued: true annotations: transitive_closure_of: friend_of persons: - name: p:akira friend_of: [p:bill] - name: p:bill friend_of: [p:carrie] - name: p:carrie friend_of: persons: - name: p:akira friend_of: - p:bill in_network_of: - p:akira - p:bill - p:carrie - name: p:bill friend_of: - p:carrie - p:akira in_network_of: - p:akira - p:bill - p:carrie - name: p:carrie friend_of: - p:bill in_network_of: - p:akira - p:bill - p:carrie Caveats This is currently experimental/alpha software!