私はタートル ファイルを検証するバリデーターに取り組んでいます。記載されているカーディナリティが各オブジェクトで正しいかどうかを確認する関数に取り組んでいるときに、リテラルの値にアクセスする方法がわかりません。
リテラル値はCard=literal(type(xsd:nonNegativeInteger, '1'))(または1^^'http://www.w3.org/2001/XMLSchema#nonNegativeInteger') です。
長さ L のプロパティのバッグを見つけました。どうすればそれを確認できL == Cardますか?
私はすでに次のことを試しました:
% L and Card are both 1
rdf_canonical_literal(L, LiteralL), rdf_compare(=, LiteralL, Card).
% false
rdf_canonical_literal(L, LiteralL).
% LiteralL = 1^^'http://www.w3.org/2001/XMLSchema#integer'.
問題は、同じように比較xsd:integerしxsd:nonNegativeIntegerないことです。
ただし、私にとって最も簡単なことは価値があるように思えますがCard、実際にそれを行う方法がわかりません。この例を見つけるための解決策やポインタは大歓迎です!!