我正在使用Jena框架来操作RDF文件,但我找不到一种方法来用您各自的RDF模式验证RDF。我正在尝试这个方法:
Model mod1 = new ModelMem();
Model modSchema = new ModelMem();
String baseURI = "http://iec.ch/TC57/2007/network";
String rdfPath = "file:D:\\modelo.rdf";
InputStream model = FileManager.get().open(rdfPath);
String rdfPathSchema = "file:D:\\Schema.rdf";
InputStream modelSchema = FileManager.get().open(rdfPathSchema);
mod1.read(model, baseURI, "RDF/XML-ABBREV");
modSchema.read(modelSchema,baseURI, "RDF/XML-ABBREV");
InfModel infmodel = ModelFactory.createRDFSModel(mod1, modSchema);
ValidityReport validity = infmodel.validate();
return validity.isValid();
但它总是返回true。
:ValidType a rdfs:Class .
:property a rdf:Property ;
rdfs:domain :ValidType .
:subj a :InvalidType .
这本身并不矛盾,因为RDF有一个开放世界假设。声明某物具有RDF模式未覆盖的类型并不会导致验证失败,从验证的角度来看,这只是虚假的信息。
但是,如果用户声明:subj
使用了您定义的属性,如下所示:
:subj a :InvalidType ;
:property "value" .
现在验证应该返回false,因为数据与架构不一致,您声明:property
只有域:validtype
,但它与:invalidtype
类型的资源一起使用,因此这是不一致的,验证应该失败。
问题内容: 我有工作,并为我解编和编组XML转换为Java对象,反之亦然。现在,我试图根据我们的模式(test.xsd)来验证我们的XML。假设我的XML中缺少任何必填字段,那么我想根据模式test.xsd验证XML后知道哪个字段缺失。 如何根据test.xsd模式验证XML。我的test.xsd模式路径是- C:\ workspace \一\二\三\ src \ main \ java \ co
据我所知,有一些方法可以根据RDF模式验证序列化的RDF(例如RDF/XML)(如何用您的RDF模式验证RDF)。还有,从RDF/XML到JSON-LD序列化格式的各种转换器(反之亦然)。在Internet上搜索,我找不到一种直接的方法来验证JSON-LD与某种JSON模式的关系,就像RDF模式与RDF(/XML)的关系一样。当然,有各种各样的JSON-LD文档表单,所以我假设一个模式不能很容易地
我需要验证密码输入表单字段的强度。要求是: < li >至少一个小写字符 < li >至少一个大写字符 < li >至少一个号码< br >(无论顺序) 我迄今为止搜索和尝试的结果如下,结果不一致。 它似乎验证了正则表达式验证的顺序。 我需要的是检查是否存在至少一个字符“类型”。
我正在使用Spring数据卡桑德拉连接到我的卡桑德拉数据库。我已经创建了实体java对象(带有@Table注释),以便从数据库中进行一些简单的提取。 我想知道如何在启动时进行模式验证,比如像在Hibernate中那样。 请注意,我阅读了有关查询验证的信息,但我对验证表名和列名感兴趣。
根据Avro模式规范(适用于接头):https://avro.apache.org/docs/current/spec.html 如上所述,Unions使用JSON数组表示。例如,["null","string"]声明一个模式,该模式可以是null或string。 ( 请注意,当为类型为联合的记录字段指定默认值时,默认值的类型必须与联合的第一个元素匹配。 因此,对于包含“null”的联合,通常首先
我不知道如何正确设置超架构以使用json架构验证器。我使用的是json模式验证器的java版本,版本是2.2.5。 我的模式是: 我的 json 对象是: 现在,当我将模式加载到并打算开始验证时,我得到以下警告: 除了$Schema字段之外,还有什么要配置以使用超模式的吗?