在这个RDF中:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix ex: <http://example.com/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
ex:bob ex:has '{"name": robert"}'^^rdf:JSON .
ex:bob ex:at "204453"^^xsd:dateTime .
RDF引擎(例如Apache Jena)可以验证一些类型化文字(例如,xsd:dateTime):
$ ~/Downloads/apache-jena-4.7.0/bin/riot --validate file.ttl
11:48:47 WARN riot :: [line: 6, col: 14] Lexical form '204453' not valid for datatype XSD dateTime
RDF引擎会验证rdf:JSON
类型的文字吗?
注意JSON不是格式良好的。
2条答案
按热度按时间lo8azlld1#
您可以在ARQ中使用JavaScript SPARQL Functions来实现一个简单的自定义函数,该函数将告诉您是否可以将文字解析为JSON。
这个要点演示了如何做到这一点:https://gist.github.com/jaw111/3955e6fb9aa48c7d627cec685a9d5cca
ibrsph3r2#
我喜欢John步行者的解决方案,但我们也发现,如果您尝试使用Apache Jena将RDF(带有格式错误的JSON文字)序列化为jsonld,它将验证JSON文字: