9. Property,Literalの生成2006.02.21 株式会社四次元データ 中井隆史 9.1. PropertyProperty インタフェースを実装したオブジェクトは、 Model インタフェースの createProperty() メソッドを使用して生成します。 Model インタフェースの createProperty() メソッドの主な種類
この二つの引数のとり方は URI の指定の仕方の違いです。 例えば次の p1, p2 は同じプロパティを表します。 Property p1 = model.createProperty("http://4dd.co.jp/editor");
Property p2 = model.createProperty("http://4dd.co.jp/","editor");
Property は Resource のサブインターフェースです。 また RDF の概念としてもプロパティはリソースです。 そのため Resource の場合と同じく、このメソッドで取得されたオブジェクトに対して 何らかの操作を行うと、取得元となった Model に反映されます。 9.2. LiteralLiteral インタフェースを実装したオブジェクトは、 Model インタフェースの createLiteral() メソッドや createTypedLiteral() メソッドを使用して生成します。 前者はデータ型の無いリテラルを生成し、後者はデータ型の付いたリテラルを生成します。 データ型の無いリテラルについては、多くの場合オブジェクトにする必要はありません。 しかしデータ型の付いたリテラルを使用するには、値と型を合わせて管理することができるため有用です。 Model インタフェース createLiteral() メソッドの主な種類
データ型でよく利用されるのは XML Schema の語彙です。 次のように語彙集を使うと xsd:dateTime 型のリテラルを生成できます。 Literal l1 = model.createTypedLiteral("2005-06-17T09:42:24.983Z"
,XSD.dateTime.getURI());
同様の操作は直接 URI を指定しても実現できます。 また com.hp.hpl.jena.datatypes.RDFDatatypeや com.hp.hpl.jena.datatypes.xsd.XSDDatatype などのような データ型を扱う専用のインタフェースやクラスもあります。 Literal l2 = model.createTypedLiteral("2005-06-17T09:42:24.983Z"
,"http://www.w3.org/2001/XMLSchema#dateTime");
Literal l3 = model.createTypedLiteral("2005-06-17T09:42:24.983Z",
XSDDatatype.XSDdateTime);
このような型付きリテラルのXMLによる表現は次のようになります。 これは"2005-06-17T09:42:24.983Z"のデータ型が、日時であることを明記した表現です。 <rdf:Description rdf:about="http://4dd.co.jp/">
<dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">
2005-06-17T09:42:24.983Z
</dc:date>
</rdf:Description>
XML以外の構文では、次のようにして型付きリテラルを表現します。 "2005-06-17T09:42:24.983Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> |
![]()
![]()
|