swish- A semantic web toolkit.

Copyright(c) 2003, Graham Klyne, 2009 Vasili I Galchin, 2011, 2012, 2014 Douglas Burke
LicenseGPL V2
MaintainerDouglas Burke
PortabilityCPP, OverloadedStrings
Safe HaskellNone



This module implements an inference rule based on a restruction on class membership of one or more values.



data ClassRestriction Source

Datatype for named class restriction


Eq ClassRestriction

Equality of class restrictions is based on the name of the restriction.

Show ClassRestriction 

type ClassRestrictionFn = [Maybe RDFLabel] -> Maybe [[RDFLabel]] Source

Type of function that evaluates missing node values in a restriction from those supplied.

makeDatatypeRestriction :: RDFDatatypeVal vt -> DatatypeRel vt -> ClassRestriction Source

Make a class restriction from a datatype relation.

This lifts application of the datatype relation to operate on RDFLabel values, which are presumed to contain appropriately datatyped values.

makeDatatypeRestrictionFn :: RDFDatatypeVal vt -> DatatypeRelFn vt -> ClassRestrictionFn Source

Make a class restriction function from a datatype relation function.

makeRDFClassRestrictionRules :: [ClassRestriction] -> RDFGraph -> [RDFRule] Source

Make a list of class restriction rules given a list of class restriction values and a graph containing one or more class restriction definitions.

makeRDFDatatypeRestrictionRules :: RDFDatatypeVal vt -> RDFGraph -> [RDFRule] Source

Make restriction rules from the supplied datatype and graph.

falseGraph :: RDFGraph Source

The graph

_:a <http://id.ninebynine.org/2003/rdfext/rdfd#false> _:b .

Exported for testing.

falseGraphStr :: Builder Source

Exported for testing.