rdfs:comment"Checks whether a given resource (typically the range of a property) is a datatype. It must either be equal to rdfs:Literal or an instance of rdfs:Datatype."^^xsd:string;
rdfs:label"is datatype range"^^xsd:string;
rdfs:subClassOfapp:Functions;
spin:body
[rdf:typesp:Ask;
sp:where([rdf:typesp:Filter;
sp:expression
[rdf:typesp:bound;
sp:arg1[sp:varName"range"^^xsd:string
]
]
][rdf:typesp:Filter;
sp:expression
[rdf:typesp:or;
sp:arg1[rdf:typesp:eq;
sp:arg1[sp:varName"range"^^xsd:string
];
sp:arg2rdfs:Literal
];
sp:arg2[rdf:typesp:exists;
sp:elements([sp:objectrdfs:Datatype;
sp:predicaterdf:type;
sp:subject
[sp:varName"range"^^xsd:string
]
])
]
]
])
];
spin:constraint
[rdf:typespl:Argument;
rdfs:comment"The range to check."^^xsd:string;
spl:predicatearg:range;
spl:valueTyperdfs:Resource
];
spin:returnTypexsd:boolean.
app:isImageURL
rdf:typespin:Function;
rdfs:comment"Checks whether a given URL represents an image based on its suffix (.jpg, .gif or .png are recognized by default, but others can be added by putting an imageURLSuffix triple into a SWP file)."^^xsd:string;