[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

X-0025 RDFã®æ“作方法ã®æ†¶ãˆæ–¹

自分ã§æ›¸ã„ã¦ãŠããªãŒã‚‰ã™ã忘れã¦ã—ã¾ã†ã®ã§ã€è¦šãˆæ›¸ãã§ã™â€¦â€¦

RDFã¯ã€Œãƒ„リー構造ã€ã§ã¯ãªã„

DOM ã‚„ Web 上ã®ãƒªã‚½ãƒ¼ã‚¹ã®å ´åˆã«ã¯ DOM ツリーやディレクトリ構造ã¨ã„ã£ãŸã€Œå„ノード間ã®å›ºå®šã®è¦ªå­é–¢ä¿‚ã€ãŒã‚ã‚Šã¾ã™ãŒã€ RDF ã®å ´åˆã¯ã€ä¸€ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã«å…¨ã¦ã® HTML リソースをã¶ã¡è¾¼ã‚“ã§ãƒªãƒ³ã‚¯ã ã‘ã§ç›¸äº’ã«é–¢é€£ä»˜ã‘ãŸã‚ˆã†ãªå¹³å¦ãªãƒ‡ãƒ¼ã‚¿æ§‹é€ ã«ãªã£ã¦ã„ã¾ã™ï¼ˆãƒ„リー状ã«ã—ã¦é–¢é€£ä»˜ã‘ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ãŒã€ãã‚Œã¯ã‚ãã¾ã§ç‰¹æ®Šãªä¾‹ã§ã™ï¼‰ã€‚å„ノード(ã“ã®ä¾‹ãªã‚‰å€‹ã€…ã® HTML リソース)ã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚’æŒã£ã¦ãŠã‚‰ãšä»–ã®ãƒŽãƒ¼ãƒ‰ã¸ã®ãƒªãƒ³ã‚¯ã®ã¿ã‚’å«ã‚“ã§ã„るタイプã¨ã€ãƒªãƒ³ã‚¯ã‚’å«ã¾ãšãƒ‡ãƒ¼ã‚¿ã®ã¿ã‚’æŒã£ã¦ã„るタイプã«åˆ†ã‘られã€äº’ã„ã«ç¶²ç›®çŠ¶ã«çµã³ä»˜ã‘られã¦ã„ã‚‹ã¨ã„ã†å…·åˆã«ã‚¤ãƒ¡ãƒ¼ã‚¸ã™ã‚‹ã¨ã„ã„ã§ã—ょã†ã€‚ãªãŠã€å€‹ã€…ã® RDF データソースã¯ã€å…ˆã®ä¾‹ã§è¨€ã†ãªã‚‰ã€å…¨ã¦ã® HTML リソースをã¶ã¡è¾¼ã‚“ã§ã„る親ディレクトリãã®ã‚‚ã®ã«ã‚ãŸã‚Šã¾ã™ã€‚

「主語・述語・目的語ã€ãŒæ“作ã®åŸºæœ¬

ã“ã®å„ノードã¯ã€Œä¸»èªžã€è¿°èªžã€ç›®çš„語ã€ã®ã‚ˆã†ãªå½¢ã§é–¢é€£ä»˜ã‘られã¦ã„ã¾ã™ã€‚例ãˆã°ãƒ–ックマークã®ã‚»ãƒ‘レータãªã‚‰ã€ã€Œ ID å㌠rdf:#$xA55H1 ã®ãƒªã‚½ãƒ¼ã‚¹ã®ã€ãƒ—ロパティ http://www.w3.org/1999/02/22-rdf-syntax-ns#type ãŒæŒ‡ã™ã¨ã“ã‚ã¯ã€ http://home.netscape.com/NC-rdf#Separator ã§ã‚ã‚‹ã€ã¨ã„ã£ãŸå…·åˆã§ã™ã€‚逆ã«ã€ãã®ãƒªã‚½ãƒ¼ã‚¹ãŒã‚»ãƒ‘レータã§ã‚ã‚‹ã‹ã©ã†ã‹ãŒçŸ¥ã‚ŠãŸã‘ã‚Œã°ã€ã€Œ ID å㌠rdf:#$xA55H1 ã®ãƒªã‚½ãƒ¼ã‚¹ã®ãƒ—ロパティ http://www.w3.org/1999/02/22-rdf-syntax-ns#type ãŒæŒ‡ã™ã¨ã“ã‚ã¯ä½•ã‹ï¼Ÿã€ã¨å•ãˆã°ã„ã„ã‚ã‘ã§ã™ã€‚

nsIRDFDataSource ã«ã¯ã€ã“れらã®æ“作ã®ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚ã©ã‚“ãªãƒ¡ã‚½ãƒƒãƒ‰ãŒã‚ã‚‹ã‹ã¯ IDL 定義を見るã®ãŒæ—©ã„ã®ã§ã™ãŒã€ç‰¹ã«ã‚ˆã使ã†ã‚‚ã®ã‚’ã„ãã¤ã‹ç´¹ä»‹ã—ã¾ã™ã€‚

特定ã®ãƒŽãƒ¼ãƒ‰ã¸ã®å‚照情報を得る

ã¾ãšã€nsIRDFService ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‹ã‚‰ç´¹ä»‹ã—ã¾ã™ã€‚

GetResource(aID)
ID å㌠aID ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’得る。 ID å㯠URI å½¢å¼ã€‚ DOM ã§è¨€ãˆã° getElementById(aID)ã‚ã‚‹ã„ã¯createElement(aID)ã«ç›¸å½“ã™ã‚‹ï¼Ÿ
GetLiteral(aString)
内容㌠aString ã®æ–‡å­—列リソースを得る。 DOM ã§è¨€ãˆã° createTextNode(aString)ã«ç›¸å½“ã™ã‚‹ï¼Ÿ

ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã§å¾—られるã®ã¯ã€ãƒŽãƒ¼ãƒ‰ãã®ã‚‚ã®ã§ã¯ãªãã€ãã®ãƒŽãƒ¼ãƒ‰ã¸ã®å‚照情報ã§ã™ã€‚XMLã®DOMã«æ…£ã‚Œãã£ã¦ã„ã‚‹å ´åˆã¯ç†è§£ã—ã«ãã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€ä¾‹ãˆã°ã€getElementById()ã«æ¸¡ã™å¼•æ•°ã‚’数値ã‹ã‚‰æ–‡å­—列ã«æ‰‹å‹•ã§å¤‰æ›ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã ã€ã¨è€ƒãˆã¦ä¸‹ã•ã„。JavaScriptãªã‚‰String()ã‹***.toString()を使ã†æ‰€ã‚’ã€RDFã®æ“作ã§ã¯GetResource()ã‚„GetLiteral()を使ã†ã€ã¨ã„ã†å…·åˆã§ã™ã€‚

RDFã®æ“作ã§ã¯ã€ç´”粋ã«getElementById()ãªã©ã«ç›¸å½“ã™ã‚‹ã‚‚ã®ã¯ã‚ã‚Šã¾ã›ã‚“。ç¾åœ¨ã®Mozillaã®å®Ÿè£…ã¯ã€XMLã®DOMã®ã‚ˆã†ãªã‚ªãƒ–ジェクト指å‘çš„ãªã‚¢ãƒ—ローãƒã§ã¯ãªãã€C言語ã®ã‚ˆã†ãªã€Œæ˜”ãªãŒã‚‰ã®æ‰‹ç¶šã型処ç†ã€çš„ãªã‚¢ãƒ—ローãƒã‚’å–ã£ã¦ã„ã¾ã™ã€‚サードパーティ製ã®ãƒ©ãƒƒãƒ‘ーを使ã‚ãªã„å ´åˆã€ã“ã®ç‚¹ã«ã¯ãã‚Œãれも注æ„ãŒå¿…è¦ã§ã™ã€‚

å‚照情報を元ã«å‡¦ç†ã‚’è¡Œã†

ノードや文字列リソースã¸ã®å‚照情報を得ãŸã‚‰ã€å¾Œã¯ãれを使ã£ã¦å‡¦ç†ã‚’è¡Œã†ã ã‘ã§ã™ã€‚具体的ãªãƒ‡ãƒ¼ã‚¿ã®æ“作ã¯å€‹ã€…ã®ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã«å¯¾ã—ã¦è¡Œã†ã‚‚ã®ï¼ˆå†’é ­ã®ä¾‹ã§ã„ãˆã°ã€Œãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä¸­ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã™ã‚‹ã€ãªã©ã®ã‚ˆã†ãªæ„Ÿã˜ï¼‰ãªã®ã§ã€ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚

以下ã«ã€ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã®ä¸»è¦ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’紹介ã—ã¾ã™ã€‚ãªãŠã€å¤‰æ•°ã®å¼•æ•°ã¯å…¨ã¦ã€å‰è¿°ã®æ–¹æ³•ã§å¾—ãŸå‚照情報ã§ã™ï¼ˆè¿”り値もå‚照情報ã§ã™ï¼‰ã€‚

GetSource(aProperty, aTarget, true), GetSources(aProperty, aTarget, true)
プロパティ aProperty ã®å€¤ãŒã‚¿ãƒ¼ã‚²ãƒƒãƒˆ aTarget を指ã—ã¦ã„るリソースを得る。 XUL ã® DOM ã§è¨€ãˆã° getElementsByAttribute(aAttrName, aValue)。
GetTarget(aResource, aProperty, true), GetTargets(aResource, aProperty, true)
リソース aResource ã®ãƒ—ロパティ aProperty ãŒæŒ‡ã—ã¦ã„るターゲットを得る。 DOM ã§è¨€ãˆã° getAttribute(aAttrName)。
ArcLabelsIn(aResource)
リソース aResource を何らã‹ã®ãƒ—ロパティã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã¨ã—ã¦å‚ç…§ã—ã¦ã„ã‚‹å…¨ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’得られる。 DOM ã§è¨€ãˆã° parentNode 。
ArcLabelsOut(aResource)
リソース aResource ã®å…¨ã¦ã®ãƒ—ロパティを得る。 DOM ã§è¨€ãˆã° attributes 㨠childNodes 。
Assert(aResource, aProperty, aTarget, true)
リソース aResource ã«ã€ãƒ—ロパティ aProperty ã¨ã€ãã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆ aTarget を関連付ã‘る。属性åã¨å€¤ãŒä¸€å¯¾ä¸€ã®ã€Œå±žæ€§ã€ã¨é•ã£ã¦ã€åŒã˜ãƒ—ロパティåã«è¤‡æ•°ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’関連付ã‘られるã®ã§ã€æ³¨æ„ãŒã„る。 DOM ã§è¨€ãˆã° appendChild(aNode), insertBefore(aNode, aReference)。
Unassert(aResource, aProperty, aTarget)
リソース aResource ã‹ã‚‰ãƒ—ロパティ aProperty ・ターゲット aTarget ã¸ã®é–¢é€£ä»˜ã‘ã‚’å–り除ã。 DOM ã§è¨€ãˆã° removeChild(aNode)。