0

rdflib によって Python で生成されたグラフからトリプルを AG ストアにアップロードしています。トリプル内のオブジェクトの一部はフロートであるため、次のようにグラフに追加します。

Literal(float(float_value), datatype=XSD.float)

rdflib を使用してグラフをシリアル化すると"0.8049"^^xsd:float、意図したとおりになります。

しかし、AGストアにアップロードした後、ストアにクエリを実行すると、返されるリテラルは次のようになります(trix)

<typedLiteral datatype="http://www.w3.org/2001/XMLSchema#float">8.049E-1</typedLiteral>

"8049E-0"string としてアップロードしたり、単にstring としてアップロードしたりするなど、あらゆる種類の組み合わせを試しました"0.8049"が、適切な場所に小数点を取得するための適切な呪文にヒットしていません。

何かご意見は?

ジョン

4

1 に答える 1

0

どっ!

必要以上に物事を複雑にしたのは初めてではありません。これらのリテラルは浮動小数点数ではなく、単なる 10 進数です。XSD には、これらに対して完全に適切なデータ型があります。

したがって、rdflib のグラフに追加されます。

Literal(value, datatype=XSD.decimal)

AG ストアから次のように返されます。

<typedLiteral datatype="http://www.w3.org/2001/XMLSchema#decimal">0.8049</typedLiteral>

お騒がせしてすみません、jjc

于 2013-06-12T21:40:40.080 に答える