Witam.

Mam dwa pytania dotyczące typowania danych w RDF Schema.
Do tej pory opisując typ danych w schemie tworzyłem (sugerując się też wieloma przykładami rdfsów) powiązanie w taki sposób:

 
<rdfs:Property rdf:ID="name">
	<rdfs:domain rdf:resource="#person"/>
	<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdfs:Property>

Dowiedziałem się jednak, że RDF umożliwia wykorzystanie typów danych z XML Schema:

 
<age rdf:datatype="http://www.w3.org/2001/XMLSchema#int">100</age>

Ale czy można to wykorzystać jako resource i użyć tak:

 
<rdfs:Property rdf:ID="name">
	<rdfs:domain rdf:resource="#person"/>
	<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#int"/>
</rdfs:Property>

Raczej nie bardzo. Może więc wystarczy tak:

 
<rdfs:Property rdf:ID="name">
	<rdfs:domain rdf:resource="#person"/>
	<rdf:datatype="http://www.w3.org/2001/XMLSchema#int">
</rdfs:Property>

czy może raczej:

 
<rdfs:Property rdf:ID="name">
	<rdfs:domain rdf:resource="#person"/>
	<rdfs:range rdf:datatype="http://www.w3.org/2001/XMLSchema#int"/>
</rdfs:Property>

co zgodne by było z określeniem " 'person' posiada 'int', którym jest 'name' "

ale rdfs:range musi chyba wskazywać na klasę. Ew. może zadeklarować w RDF Schema klasę określającą integer i wskazać na nią:

 
<rdfs:Class rdf:ID="integer">
	<rdf:datatype="http://www.w3.org/2001/XMLSchema#int">
	<rdfs:subClassOf="http://www.w3.org/2000/01/rdf-schema#Datatype">
</rdfs:Class>

<rdfs:Property rdf:ID="name">
	<rdfs:domain rdf:resource="#person"/>
	<rdfs:range rdf:resource="#integer"/>
</rdfs:Property>

Ale to chyba nieco przekombinowane.

Druga rzecz, która mnie zastanawia to to, jak zdefiniować typy (nawet jako Literal sugerując się pierwszym kodem) dla poszczególnych elementów containera (Bag, Seq lub Alt). Mam w pliku rdf resource z bagiem:

<a:Photos>
	<rdf:Bag>
		<rdf:li rdf:resource="/photo1_resource"/>
		<rdf:li rdf:resource="/photo2_resource"/>
	</rdf:Bag>
</a:Photos>

Jak zadeklarować typy w rdfs ? Co do elementu 'Photos' zrobiłem tak:

<rdfs:Property rdf:ID="Photos">
	<rdfs:domain rdf:resource="#person"/>
	<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag"/>
</rdfs:Property>

Ale jak określić typy poszczególnych elementów 'rdf:li' wewnątrz pliku rdfs (odseparowując definiowanie typów od pliku rdf) ? Dla jakiegokolwiek przypadku - też, gdy poszczególni membersi Baga są typu Literal.