graphdb 推理规则 - 对一个变量的多重约束
graphdb inference rules - multiple constraint on a variable
是否可以有一个inf。对一个变量有多个约束的规则。例如,是否可以扩展以下规则
a b c [Constraint b != <rdf:type>]
b <rdfs:domain> d
------------------------------------
a <rdf:type> d
就这样(试过了但是规则没有激活)
a b c [Constraint b != <rdf:type>, b != <rdfs:label>]
b <rdfs:domain> d
------------------------------------
a <rdf:type> d
谢谢
根据最新的 GraphDB documentation,这是一个有效的规则语法。两个约束都使用 AND 执行,因此该规则不适用于 rdf:type
和 rdfs:label
值。这是完整的例子:
Prefices
{
rdf : http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs : http://www.w3.org/2000/01/rdf-schema#
}
Axioms
{
}
Rules
{
Id: test
a b c [Constraint b != <rdf:type>, b != <rdfs:label>]
b <rdfs:domain> d
------------------------------------
a <rdf:type> d
}
插入示例文件后,您将仅获得 <urn:a1>
的隐式结果:
<urn:a1> <urn:b1> <urn:c1> .
<urn:b1> <http://www.w3.org/2000/01/rdf-schema#domain> <urn:d1> .
<urn:a2> <http://www.w3.org/2000/01/rdf-schema#label> <urn:c2> .
<urn:b2> <http://www.w3.org/2000/01/rdf-schema#domain> <urn:d2> .
是否可以有一个inf。对一个变量有多个约束的规则。例如,是否可以扩展以下规则
a b c [Constraint b != <rdf:type>]
b <rdfs:domain> d
------------------------------------
a <rdf:type> d
就这样(试过了但是规则没有激活)
a b c [Constraint b != <rdf:type>, b != <rdfs:label>]
b <rdfs:domain> d
------------------------------------
a <rdf:type> d
谢谢
根据最新的 GraphDB documentation,这是一个有效的规则语法。两个约束都使用 AND 执行,因此该规则不适用于 rdf:type
和 rdfs:label
值。这是完整的例子:
Prefices
{
rdf : http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs : http://www.w3.org/2000/01/rdf-schema#
}
Axioms
{
}
Rules
{
Id: test
a b c [Constraint b != <rdf:type>, b != <rdfs:label>]
b <rdfs:domain> d
------------------------------------
a <rdf:type> d
}
插入示例文件后,您将仅获得 <urn:a1>
的隐式结果:
<urn:a1> <urn:b1> <urn:c1> .
<urn:b1> <http://www.w3.org/2000/01/rdf-schema#domain> <urn:d1> .
<urn:a2> <http://www.w3.org/2000/01/rdf-schema#label> <urn:c2> .
<urn:b2> <http://www.w3.org/2000/01/rdf-schema#domain> <urn:d2> .