RDF语义 推荐标准-7

TransWiki - W3CHINA.ORG开放翻译计划(OTP)

摘要_文档状态_目录 第0节 第1节 第2节 第3节 第4节 第5节 第6节 第7节 附录_参考文献


目录

7. Entailment rules (Informative)

The following tables list some inference patterns which capture some of the various forms of vocabulary entailment, and could be used as a guide for the design of software to check RDF graphs for RDF and RDFS entailment. Implementations may be based on applying the rules forwards, or treating the conclusion as a pattern to be recognized in the consequent of a proposed entailment and searching backwards for an appropriate match with other rule conclusions or the proposed antecedent. Other strategies are also possible.
The rules are all stated with the form add a triple to a graph when it contains triples conforming to a pattern, and they are all valid in the following sense: a graph entails (in the appropriate sense listed) any larger graph that is obtained by applying the rules to the original graph. Notice that applying such a rule to a graph amounts to forming a simple union with the conclusion, rather than a merge (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defmerge), and hence preserves any blank nodes already in the graph.
These rules all use the following conventions: aaa, bbb, etc., stand for any URI reference, i.e. any possible predicate of a triple; uuu, vvv, etc. for any URI reference or blank node identifier, i.e any possible subject of a triple; xxx, yyy etc. for any URI reference, blank node identifier or literal, i.e. any possible subject or object of a triple; lll for any literal; and _:nnn, etc., for blank node identifiers.

7.1 Simple Entailment Rules

The interpolation lemma (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#interplemma) in Section 2 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#entail) can be characterized by the following entailment rules which generate generalizations, i.e. graphs which have the original graph as an instance. Being a subgraph requires no explicit formulation as an inference rule on triples.
simple entailment rules.


















Rule name

If E contains

then add

se1

uuu aaa xxx .

uuu aaa _:nnn .

where _:nnn identifies a blank node allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to xxx by rule se1 or se2.

se2

uuu aaa xxx .

_:nnn aaa xxx .

where _:nnn identifies a blank node allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to uuu by rule se1 or se2.

The terminology 'allocated to' means that the blank node must have been created by an earlier application of the specified rules on the same URI reference, blank node or literal, or if there is no such blank node then it must be a 'new' node which does not occur in the graph. This rather complicated condition ensures that the resulting graph, obtained by adding the new blank-node triples, has the original graph as a proper instance and that any such graph will have a subgraph which is the same as one which can be generated by these rules. For example, the graph
<ex:a> <ex:p> <ex:b> .

<ex:c> <ex:q> <ex:a> .
could be expanded as follows
_:x <ex:p> <ex:b> . by se1 using a new _:x which is allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to ex:a

<ex:c> <ex:q> _:x . by se2 using the same _:x allocated to ex:a

_:x <ex:p> _:y . by se2 using a new _:y which is allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to ex:b
but it would not be correct to infer

    • _:x <ex:q> <ex:a> . ** by se2 (** since _:x is not allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to ex:c )

These rules allow blank nodes to proliferate, producing highly non-lean (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#deflean) graphs; they sanction entailments such as
<ex:a> <ex:p> <ex:b> .

<ex:a> <ex:p> _:x . by xse1 with _:x allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to ex:b

<ex:a> <ex:p> _:y . by xse1 with _:y allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to _:x

_:z <ex:p> _:y . by xse2 with _:z allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to ex:a

_:u <ex:p> _:y . by xse2 with _:u allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to _:z

_:u <ex:p> _:v . by xse1 with _:v allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to _:y
It is easy to see that S is an instance of E if and only if one can derive E from S by applying these rules in a suitable sequence; the rule applications required can be discovered by examination of the instance mapping. So, by the interpolation lemma, S simply entails E iff one can derive (a graph containing) E from S by the application of these rules. However, it is also clear that applying these rules naively would not result in an efficient search process, since the rules will not terminate and can produce arbitrarily many redundant derivations of equivalent triples.
The general problem of determining simple entailment between arbitrary RDF graphs is decideable but NP-complete. This can be shown by encoding the problem of detecting a subgraph of an arbitrary directed graph as an RDF entailment, using only blank nodes to represent the graph (observation due to Jeremy Carroll.)
Subsequent rule sets for detecting RDF and RDFS entailment use a special case of rule se1 which applies only to literals:
literal generalization rule.













Rule Name

If E contains

then add

lg

uuu aaa lll .


uuu aaa _:nnn .

where _:nnn identifies a blank node allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to the literal lll by this rule.

Note that this rule is just sufficient to reproduce any subgraph of E consisting of triples all containing a given literal as an isomorphic subgraph in which the literal is replaced by a unique blank node. The significance of this lies in the fact the blank nodes can stand in a subject position in an RDF triple, allowing conclusions to be drawn by the other rules which express properties of the literal value denoted by that literal.
For RDFS entailment one additional rule is required, which inverts rule lg:
literal instantiation rule.













Rule Name

If E contains

then add

gl

uuu aaa _:nnn .
where _:nnn identifies a blank node allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to the literal lll by rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg).


uuu aaa lll .


Clearly rule gl will simply produce a redundancy, except in cases where the allocated blank node has been introduced into the object position of a new triple by some other inference rule. The effect of these rules is to ensure that any triple containing a literal, and the similar triple containing the allocated blank node, are always derivable from one another, so that a literal can be identified with its allocated blank node for purposes of applying these rules.

7.2 RDF Entailment Rules

RDF entailment rules


















Rule Name

if E contains

then add

rdf1

uuu aaa yyy .

aaa rdf:type rdf:Property .

rdf2

uuu aaa lll .

where lll is a well-typed XML literal .

_:nnn rdf:type rdf:XMLLiteral .
where _:nnn identifies a blank node allocated to (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) lll by rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg).


These rules are complete (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#glossComplete) in the following sense.
RDF entailment lemma. S rdf-entails (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rdf_entail) E if and only if there is a graph which can be derived from S plus the RDF axiomatic triples (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDF_axiomatic_triples) by the application of rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg) and the RDF entailment rules (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFRules) and which simply entails (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defentail) E. (Proof (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFEntailmentLemmaPrf) in Appendix A)
Note that this does not require the use of rule gl (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulesgl).

7.3 RDFS Entailment Rules

RDFS entailment rules.














































































Rule Name

If E contains:

then add:

rdfs1

uuu aaa lll.
where lll is a plain literal (with or without a language tag).


_:nnn rdf:type rdfs:Literal .
where _:nnn identifies a blank node allocated to (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) lll by rule rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg).


rdfs2

aaa rdfs:domain xxx .

uuu aaa yyy .


uuu rdf:type xxx .

rdfs3

aaa rdfs:range xxx .

uuu aaa vvv .


vvv rdf:type xxx .

rdfs4a

uuu aaa xxx .

uuu rdf:type rdfs:Resource .

rdfs4b

uuu aaa vvv.

vvv rdf:type rdfs:Resource .

rdfs5

uuu rdfs:subPropertyOf vvv .

vvv rdfs:subPropertyOf xxx .


uuu rdfs:subPropertyOf xxx .

rdfs6

uuu rdf:type rdf:Property .

uuu rdfs:subPropertyOf uuu .

rdfs7

aaa rdfs:subPropertyOf bbb .

uuu aaa yyy .


uuu bbb yyy .

rdfs8

uuu rdf:type rdfs:Class .


uuu rdfs:subClassOf rdfs:Resource .

rdfs9

uuu rdfs:subClassOf xxx .

vvv rdf:type uuu .


vvv rdf:type xxx .

rdfs10

uuu rdf:type rdfs:Class .

uuu rdfs:subClassOf uuu .

rdfs11

uuu rdfs:subClassOf vvv .

vvv rdfs:subClassOf xxx .


uuu rdfs:subClassOf xxx .

rdfs12

uuu rdf:type rdfs:ContainerMembershipProperty .

uuu rdfs:subPropertyOf rdfs:member .

rdfs13

uuu rdf:type rdfs:Datatype .

uuu rdfs:subClassOf rdfs:Literal .

Stating completeness (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#glossComplete) for these rules requires more care, since it is possible for a graph to be rdfs-inconsistent by virtue of containing unsatisfiable assertions about ill-typed XML literals, for example:
<ex:a> rdfs:subClassOf rdfs:Literal .

<ex:b> rdfs:range <ex:a> .

<ex:c> rdfs:subPropertyOf <ex:b>.

<ex:d> <ex:c> "<"^^rdf:XMLLiteral .
where the denotation of the ill-typed XML literal is required not to be a literal value but can be inferred to be on the basis of the other assertions. Since such an rdfs-inconsistent graph rdfs-entails (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rdfs_entailment) all RDF graphs, even when they are syntactically unrelated to the antecedent, we have to exclude this case.
There is a characteristic signal of inconsistency which can be recognized by the entailment rules, by the derivation of a triple of the form
xxx rdf:type rdfs:Literal .
where xxx is allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to an ill-typed XML literal by rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg). Call such a triple an XML clash. The derivation of such a clash from the above example is straightforward:
<ex:d> <ex:c> _:1 .   (by rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg), with _:1 allocated (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) to "<"^^rdf:XMLLiteral)

<ex:d> <ex:b> _:1 .    (by rule rdfs7 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs7))

_:1 rdf:type <ex:a>.   (by rule rdfs3 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs3))

_:1 rdf:type rdfs:Literal .   (by rule rdfs9 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs9))
These rules are thencomplete (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#glossComplete) in the following sense:
RDFS entailment lemma. S rdfs-entails (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rdfs_entailment) E if and only if there is a graph which can be derived from S plus the RDF (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDF_axiomatic_triples) and RDFS axiomatic triples (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFS_axiomatic_triples) by the application of rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg), rule gl (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulesgl) and the RDF (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFRules) and RDFS entailment rules (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFSRules) and which either simply entails (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defentail) E or contains an XML clash. (Proof (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFSEntailmentLemmaPrf) in Appendix A)
The RDFS rules are somewhat redundant. All but one of the RDF axiomatic triples (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDF_axiomatic_triples) can be derived from the rules rdfs2 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs2) and rdfs3 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs3) and the RDFS axiomatic triples (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFS_axiomatic_triples), for example.
The outputs of these rules will often trigger others. These rules will propagate all rdf:type assertions in the graph up the subproperty and subclass hierarchies, re-asserting them for all super-properties and superclasses. rdf1 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdf1) will generate type assertions for all the property names used in the graph, and rdfs3 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs3) together with the last RDFS axiomatic triple (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#RDFS_axiomatic_triples) will add all type assertions for all the class names used. Any subproperty or subclass assertion will generate appropriate type assertions for its subject and object via rdfs2 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs2) and rdfs3 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs3) and the domain and range assertions in the RDFS axiomatic triple set. The rules will generate all assertions of the form
uuu rdf:type rdfs:Resource .
for every uuu in V, and of the form
uuu rdfs:subClassOf rdfs:Resource .
for every class name uuu; and several more 'universal' facts, such as
rdf:Property rdf:type rdfs:Class .

7.3.1 Extensional Entailment Rules

The stronger extensional semantic conditions described in Section 4.1 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ExtensionalDomRang) sanction further entailments which are not covered by the RDFS rules. The following table lists some entailment patterns which are valid in this stronger semantics. This is not a complete (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#glossComplete) set of rules for the extensional semantic conditions. Note that none of these rules are rdfs-valid; they apply only to semantic extensions which apply the strengthened extensional semantic conditions described in Section 4.1 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ExtensionalDomRang). These rules have other consequences, eg that rdfs:Resource is a domain and range of every property.
Rules ext5-ext9 follow a common pattern; they reflect the fact that the strengthened extensional conditions require domains (and ranges for transitive properties) of the properties in the rdfV and rdfsV vocabularies to be as large as possible, so any attempt to restrict them will be subverted by the semantic conditions. Similar rules apply to superproperties of rdfs:range and rdfs:domain. None of these cases are likely to arise in practice.
Some additional inferences which would be valid under the extensional versions of the RDFS semantic conditions.
















































ext1

uuu rdfs:domain vvv .

vvv rdfs:subClassOf zzz .


uuu rdfs:domain zzz .

ext2

uuu rdfs:range vvv .

vvv rdfs:subClassOf zzz .


uuu rdfs:range zzz .

ext3

uuu rdfs:domain vvv .

www rdfs:subPropertyOf uuu .

www rdfs:domain vvv .

ext4

uuu rdfs:range vvv .

www rdfs:subPropertyOf uuu .

www rdfs:range vvv .

ext5

rdf:type rdfs:subPropertyOf www .

www rdfs:domain vvv .


rdfs:Resource rdfs:subClassOf vvv .

ext6

rdfs:subClassOf rdfs:subPropertyOf www .

www rdfs:domain vvv .


rdfs:Class rdfs:subClassOf vvv .

ext7

rdfs:subPropertyOf rdfs:subPropertyOf www .

www rdfs:domain vvv .


rdf:Property rdfs:subClassOf vvv .

ext8

rdfs:subClassOf rdfs:subPropertyOf www .

www rdfs:range vvv .


rdfs:Class rdfs:subClassOf vvv .

ext9

rdfs:subPropertyOf rdfs:subPropertyOf www .

www rdfs:range vvv .


rdf:Property rdfs:subClassOf vvv .

 

7.4 Datatype Entailment Rules

In order to capture datatype entailment (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#D_entailment) in terms of assertions and entailment rules, the rules need to refer to information supplied by the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype)s themselves; and to state the rules it is necessary to assume syntactic conditions which can only be checked by consulting the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) sources.
For each kind of information which is available about a datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype), inference rules for information of that kind can be stated, which can be thought of as extending the table of RDFS entailment rules. These should be understood as applying to datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype)s other than the built-in datatype, the rules for which are part of the RDFS entailment rules. The rules stated below assume that information is available about the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) denoted by a recognized URI reference, and they use that URI reference to refer to the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype).
The basic information specifies, for each literal string, whether or not it is a legal lexical form for the datatype, i.e. one which maps to some value under the lexical-to-value mapping of the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype). This corresponds to the following rule, for each string sss that is a legal lexical form for the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) denoted by ddd:








rdfD1

ddd rdf:type rdfs:Datatype .

uuu aaa "sss"^^ddd .


_:nnn rdf:type ddd .
where _:nnn identifies a blank node allocated to (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defallocated) "sss"^^ddd by rule rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg).


Suppose it is known that two lexical forms sss and ttt map to the same value under the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) denoted by ddd; then the following rule applies:








rdfD2

ddd rdf:type rdfs:Datatype .

uuu aaa "sss"^^ddd .


uuu aaa "ttt"^^ddd .

Suppose it is known that the lexical form sss of the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) denoted by ddd and the lexical form ttt of the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) denoted by eee map to the same value. Then the following rule applies:








rdfD3

ddd rdf:type rdfs:Datatype .

eee rdf:type rdfs:Datatype .

uuu aaa "sss"^^ddd .


uuu aaa "ttt"^^eee .

In addition, if it is known that the value space of the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) denoted by ddd is a subset of that of the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) denoted by eee, then it would be appropriate to assert that
ddd rdfs:subClassOf eee .
but this needs to be asserted explicitly; it does not follow from the subset relationship alone.
Assuming that the information encoded in these rules is correct, applying these and the earlier rules will produce a graph which is D-entail (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#D_entailment)ed by the original.
The rules rdfD2 and 3 are essentially substitutions by virtue of equations between lexical forms. Such equations may be capable of generating infinitely many conclusions, e.g. it is possible to add any number of leading zeros to any lexical form for xsd:integer without it ceasing to be a correct lexical form for xsd:integer. To avoid such correct (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#glossValid) but unhelpful inferences, it is sufficient to restrict rdfD2 to cases which replace a lexical form with the canonical form for the datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype) in question, when such a canonical form is defined. In order not to omit some valid entailments, however, such canonicalization rules should be applied to the conclusions as well as the antecedents of any proposed entailments, and the corresponding rules of type rdfD3 would need to reflect knowledge of identities between canonical forms of the distinct datatype (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defDatatype).
In particular cases other information might be available, which could be expressed using a particular RDFS vocabulary. Semantic extensions may also define further such datatype-specific meanings.
These rules allow one to conclude that any well-formed typed literal of a recognized datatype will denote something in the class rdfs:Literal.
<ex:a> <ex:p> "sss"^^<ex:dtype> .

<ex:dtype> rdf:type rdfs:Datatype .
<ex:a> <ex:p> _:nnn . (by rule lg (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#ruleslg))

_:nnn rdf:type <ex:dtype> . (by rule rdfD1 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfD1))

<ex:dtype> rdfs:subClassOf rdfs:Literal . (by rule rdfs11 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs11))

_:nnn rdf:type rdfs:Literal . (by rule rdfs9 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs9))
The rule rdfD1 is sufficient to expose some cases of a datatype clash (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#defdatatypeclash), by a chain of reasoning of the following form:
<ex:p> rdfs:range <ex:dtype> .

<ex:a> <ex:p> "sss"^^<ex:otherdtype> .
<ex:a> <ex:p> _:nnn .

_:nnn rdf:type <ex:otherdtype> . (by rule rdfD1 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfD1))

_:nnn rdf:type <ex:dtype> . (by rule rdfs3 (http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#rulerdfs3))
These rules may not provide a complete set of inference principles for D-entailment, since there may be valid D-entailments for particular datatypes which depend on idiosyncratic properties of the particular datatypes, such as the size of the value space (e.g. xsd:boolean has only two elements, so anything established for those two values must be true for all literals with this datatype.) In particular, the value space and lexical-to-value mapping of the XSD datatype xsd:string sanctions the identification of typed literals with plain literals without language tags for all character strings which are in the lexical space of the datatype, since both of them denote the Unicode character string which is displayed in the literal; so the following inference rule is valid in all XSD-interpretations. Here, 'sss' indicates any RDF string in the lexical space of xsd:string.













xsd 1a

uuu aaa "sss".

uuu aaa "sss"^^xsd:string .

xsd 1b

uuu aaa "sss"^^xsd:string .

uuu aaa "sss".

Again, as with the rules rdfD2 and rdfD3, applications may use a systematic replacement of one of these equivalent forms for the other rather than apply these rules directly.

个人工具
其它语言
 
 Page execution time: 572.24 ms.
网上报警 苏ICP备05002329号