ãæ³¨æã ãã®ããã¥ã¡ã³ãã¯ãW3Cã®OWL 2 Web Ontology Language Primer W3C Recommendation 27 October 2009ã®å訳ã§ãã
ãã®ããã¥ã¡ã³ãã®æ£å¼çã¯W3Cã®ãµã¤ãä¸ã«ããè±èªçã§ããããã®ããã¥ã¡ã³ãã«ã¯ç¿»è¨³ã«èµ·å ãã誤ãããããã¾ãã誤訳ã誤æ¤ãªã©ã®ãææã¯ã訳è
ã¾ã§ãé¡ãè´ãã¾ãã
First Update: 2011å¹´3æ5æ¥
OWL 2ã¦ã§ãã»ãªã³ããã¸ã¼è¨èªãã®ããã¥ã¡ã³ãã«å¯¾ããæ£èª¤è¡¨ãåç §ãã¦ãã ãããããã¤ãã®è¦ç¯çãªä¿®æ£ãå«ã¾ãã¦ããããããã¾ããã
ãã®ããã¥ã¡ã³ãã¯ãè¦ç¯ä»¥å¤ã®å½¢å¼ã§ãå ¥æã§ãã¾ã: PDFãã¼ã¸ã§ã³ã
翻訳çãåç §ãã¦ãã ããã
Copyright © 2009 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
è¦ç´OWL 2ã¦ã§ãã»ãªã³ããã¸ã¼è¨èªï¼éå ¬å¼ã«ã¯OWL 2ï¼ã¯ãå½¢å¼çã«å®ç¾©ãããæå³ãæããã»ãã³ãã£ãã¯ã»ã¦ã§ãã®ããã®ãªã³ããã¸ã¼è¨èªã§ããOWL 2ãªã³ããã¸ã¼ã¯ãã¯ã©ã¹ãããããã£ã¼ãåä½ããã¼ã¿å¤ãæä¾ããã»ãã³ãã£ãã¯ã»ã¦ã§ãã»ããã¥ã¡ã³ãã¨ãã¦èç©ããã¾ããOWL 2ãªã³ããã¸ã¼ã¯ãRDFã§è¨è¿°ãããæ å ±ã¨å ±ã«ä½¿ç¨ã§ããOWL 2ãªã³ããã¸ã¼èªèº«ã¯ã主ã«RDFããã¥ã¡ã³ãã®å½¢å¼ã§äº¤æãè¡ããã¾ããOWL 2ããã¥ã¡ã³ãæ¦è¦ã¯ãOWL 2ã®å ¨è¬çãªç¶æ³ã説æãã¦ãããä»ã®OWL 2ããã¥ã¡ã³ãã®åã«èªãã¹ãã§ãã
ãã®å ¥éã§ã¯ãä»ã®åéãããã£ã¦æ¥ã人ã ã«å¯¾ãããªãªã¨ã³ãã¼ã·ã§ã³ãOWL 2ãç¨ãã¦æåã«ã·ã³ãã«ãªæ å ±ã表ãããã®å¾ã«ããè¤éãªæ å ±ãè¡¨ãæ¹æ³ã示ããå®ä¾ãOWL 2ã§ãªã³ããã¸ã¼ã管çããæ¹æ³ãæå¾ã«ãOWL 2ã®æ§ã ãªãµãè¨èªã®éããªã©ã解説ãããã¨ã«ãããOWL 2ãåãããããç´¹ä»ãã¦ãã¾ãã
ãã®ããã¥ã¡ã³ãã®ã¹ãã¼ã¿ã¹ ç½®ãæããããå¯è½æ§ãã®é ã¯ããã®ããã¥ã¡ã³ãã®å ¬éæã®ã¹ãã¼ã¿ã¹ã«ã¤ãã¦è¨è¿°ãã¦ãã¾ããä»ã®ããã¥ã¡ã³ãããã®ããã¥ã¡ã³ãã«åã£ã¦ä»£ãããã¨ããããã¾ããç¾è¡ã®W3Cã®åè¡ç©ããã³ãã®æè¡å ±åã®ææ°ã®æ¹è¨çã®ãªã¹ãã¯ãhttp://www.w3.org/TR/ã®W3Cæè¡å ±åã¤ã³ããã¯ã¹ã«ããã¾ãã
XMLã¹ãã¼ãã»ãã¼ã¿åã®ä¾åæ§OWL 2ã¯ãXMLã¹ãã¼ãå®ç¾©è¨èªï¼XML Schema Definition Languageï¼ï¼XSDï¼ã§å®ç¾©ããããã¼ã¿åãç¨ããããã«å®ç¾©ããã¦ãã¾ãããã®ææ¸ã®å·çæç¹ã§ã¯ãXSDã®ææ°ã®W3Cå§åã¯ãã¼ã¸ã§ã³1.0ã§ããããã¼ã¸ã§ã³1.1ã®å§åã«åãã¦é²è¡ä¸ã§ããOWL 2ã¯ãXSD 1.1ã®æ°ãããã¼ã¿åããããæç¢ºãªèª¬æãç¨ããããã«ä½ããã¦ãã¾ãããç¾å¨ã¯ããããã®å©ç¨ã¯é¨åçã«ä¿çããã¦ãã¾ããå ·ä½çã«ã¯ã2.3é ã®é©åæ§ã§è©³ç´°ã«è¿°ã¹ãããã«ãXSD 1.1ãW3Cå§åã«ãªãã¾ã§ã¯ãããã«åºã¥ãOWL 2ã®è¦ç´ ã¯ä»»æã§ããã¨èããã¹ãã§ããXSD 1.1ãW3Cå§åã¨ãã¦å ¬è¡¨ãããã¨ãã«ããããã®è¦ç´ ã¯ä»»æã§ã¯ãªããªããè¦å®ã«å¾ããå¿ é ã§ããã¨è¦ãªãã¹ãã§ãã
éçºè ãã¦ã¼ã¶ã¯ãå½é¢ãXSD 1.1å§ååè£ã«å¾ããã¨ããå§ããã¾ããã¹ãã¼ãã»ã¯ã¼ãã³ã°ã°ã«ã¼ãã¨OWLã¯ã¼ãã³ã°ã°ã«ã¼ãã®è°è«ãè¸ã¾ããã¨ãXSD 1.1ãå§åã«ãªã£ãéã«ããå®è£ ä¸ã®å¤æ´ã¯å¿ è¦ãªãããã§ãã
夿´ã®æ¦è¦ ã³ã¡ã³ãã®éä¿¡public-owl-comments@w3.orgï¼å ¬éã¢ã¼ã«ã¤ãï¼ã«ã³ã¡ã³ãããéããã ããããã®ããã¥ã¡ã³ãã«å¯¾ããOWLã¯ã¼ãã³ã°ã°ã«ã¼ãã®ä½æ¥ã¯å®äºãã¦ãã¾ãããã³ã¡ã³ãã¯æ£èª¤è¡¨ãä»å¾ã®æ¹å®ã§æ±ããããã¨ãããã¾ããéçºè éã®å ¬éè¨è«ã¯ãpublic-owl-dev@w3.orgï¼å ¬éã¢ã¼ã«ã¤ãï¼ã§æè¿ãã¾ãã
W3Cã«ããæ¿èªãã®ããã¥ã¡ã³ãã¯ãW3Cã¡ã³ãã¼ãã½ããã¦ã§ã¢éçºè ãä»ã®W3Cã°ã«ã¼ããããã³ä»ã®å©å®³é¢ä¿è ã«ããã¬ãã¥ã¼ãããW3Cå§åã¨ãã¦ç®¡çè ã®åè³ãå¾ã¾ãããããã¯ç¢ºå®æ¸ã¿ããã¥ã¡ã³ãã§ãããåèè³æã¨ãã¦ç¨ããããå¥ã®ããã¥ã¡ã³ãã§å¼ç¨ãããã¨ãã§ãã¾ããå§åã®ä½æã«ãããW3C ã®å½¹å²ã¯ã仿§ã«æ³¨æãå¼ãä»ããåºç¯å²ãªéçºãä¿é²ãããã¨ã§ããããã«ãã£ã¦ã¦ã§ãã®æ©è½æ§ããã³ç¸äºéç¨æ§ãå¢å¼·ããã¾ãã
ç¹è¨±ãã®ããã¥ã¡ã³ãã¯ã2004å¹´2æ5æ¥ã®W3Cç¹è¨±æ¹éã®ä¸ã§æ´»åãã¦ããã°ã«ã¼ãã«ãã£ã¦ä½æããã¾ããããã®ããã¥ã¡ã³ãã«ã¯ãåèæ å ±ã®ã¿ãå«ã¾ãã¦ãã¾ããW3Cã¯ããã®ã°ã«ã¼ãã®ææç©ã«é¢é£ããããããç¹è¨±ã®é示ã®å ¬éãªã¹ããç¶æãããã®ãã¼ã¸ã«ã¯ç¹è¨±ã®é示ã«é¢ããæç¤ºãå«ã¾ãã¦ãã¾ãã
1 ã¯ããã«W3C OWL 2ã¦ã§ãã»ãªã³ããã¸ã¼è¨èªï¼OWLï¼ã¯ãäºç©ãäºç©ã®éåãäºç©éã®é¢ä¿ã«é¢ããè±ãã§è¤åçãªç¥èã表ç¾ããããã«è¨è¨ãããã»ãã³ãã£ãã¯ã»ã¦ã§ãè¨èªã§ããOWLã¯ãç¥èã®ä¸è²«æ§ãæ¤è¨¼ããããæé»ç¥ãæç¢ºåããããã«ãOWLã§è¡¨ç¾ããç¥èãã³ã³ãã¥ã¼ã¿ã»ããã°ã©ã ã§æ¨è«å¯è½ã¨ããã³ã³ãã¥ã¼ã¿è«çè¨èªã§ãããªã³ããã¸ã¼ã¨ãã¦ç¥ãããOWLããã¥ã¡ã³ãã¯ãWWWã§å ¬è¡¨ãããä»ã®OWLãªã³ããã¸ã¼ãåç §ããããä»ã®OWLãªã³ããã¸ã¼ããåç §ãããã¨ãã§ãã¾ããOWLã¯ãRDF[RDF Concepts]ã¨[SPARQL]ãå«ãW3Cã®ä¸é£ã®ã»ãã³ãã£ãã¯ã»ã¦ã§ãæè¡ã®ä¸é¨ã§ãã
ãã®å ¥éã®ä¸»ãªç®æ¨ã¯ãOWLã®é·æãçæã«é¢ããè¦èãæ·±ããããããã«ãããã¨ã§ããå ¥éã¯ãOWLã®ã»ã¨ãã©ã®è¨èªæ©è½ãå®éã®ä¾ãç¨ãã¦ç´¹ä»ãããã¨ãä¸å¿ã¨ãã¦ãã¾ããå ¥éã®ä¾ã®å¤§é¨åã¯ããªã³ããã¸ã¼ã®ä¾ï¼å ¨ä¾ã¯ä»é²ã«ããï¼ããæ½åºãããã®ã§ãããã®ãªã³ããã¸ã¼ã®ä¾ã¯ãOWLã®ä¸»è¦ãªè¨èªæ©è½ã«åããããã触ããããããã«ä½æãããã®ã§ãããæ¬è³ªçã«ããªã³ããã¸ã¼ã®æ¨¡ç¯ä¾ãç®æãããã®ã§ã¯ããã¾ããã
1.1 ãã®ããã¥ã¡ã³ãã«é¢ãã¦ãã®ããã¥ã¡ã³ãã¯ãOWL 2ã«é¢ããåæ©çãªçè§£ãå¾ããã¨ãç®æ¨ã¨ãã¦ãã¾ããç¹ã«ããã®ãã¼ãã«ãªãã¿ã®ãªã人ã ã«ã¨ã£ã¦åããããããã®ã¨ãªããã¨ãç®æãã¦ãã¾ãããããã£ã¦ã2é ã«ããã¦ãOWL 2ã®æ§è³ªã«é¢ããä½ããã®ãã¤ã¬ãã«ãªç´¹ä»ãè¡ããã¨ããå§ãããã®å¾ã«3é ã«ããã¦ãé常ã«åºæ¬çãªç¥è表ç¾ã®æ¦å¿µãããã¤ã示ããããããOWL 2ã§ç¨ããç¨èªã¨ã©ã®æ§ã«é¢é£ãã¦ãããã説æãã¾ããç¥è表ç¾ããã³æ¨çã«ã¤ãã¦è¯ãç¥ã£ã¦ããèªè ã¯ãOWL 2ã®ç¨èªã«ã¤ãã¦ç¥ãããã«ããã®é ã«ãã£ã¨ç®ãéãã ãã§ããããããã¾ããã
4ï½8é ã§ã¯ãOWLãåãã¦ããã»ã¨ãã©ã®è¨èªæ©è½ã«é¢ããé常ã«åºæ¬çãªèª¬æããå§ããããæ´ç·´ããã説æã¸ã¨é²ãå½¢ã§ã説æãã¾ãã4é ã«ããã¦OWL 2ã®åºæ¬ã¢ãã«åæ©è½ã示ãã¦è«ããå¾ã«ã5é ã«ããã¦è¤åçãªã¯ã©ã¹ã«ã¤ãã¦ç´¹ä»ãã¾ãã6é ã§ã¯ãããããã£ã¼ã®é«åº¦ãªã¢ãã«åæ©è½ãæ±ãã¾ãã7é ã§ã¯ããã¼ã¿åã«é¢é£ããé«åº¦ãªã¢ãã«åã«ç¦ç¹ããã¦ã¾ãã8é ã®ã主ã«ãªã³ããã¸ã¼ã®ç®¡çç®çã§ç¨ããä»å çãªè«çæ©è½ã§ç· ããããã¾ãã
9é ã§ã¯ãOWL 2 DLã¨OWL 2 Fullã®ç¸éç¹ã¨OWLã®2ã¤ã®ã»ãã³ãã£ãã¯è¡¨ç¤ºã«ã¤ãã¦æ±ãã10é ã§ã¯ããããã¡ã¤ã«ã¨å¼ã°ãããOWL 2ã®æ±ãããã3ã¤ã®ãµãè¨èªã«ã¤ãã¦èª¬æãã¾ããOWL 2ã«å¯¾ãããã¼ã«ã®ãµãã¼ãã«ã¤ãã¦ã¯ã11é ã¨12é ã§æ±ãããã®OWL 2ã«é¢ããéå ¬å¼ãªèª¬æã®å¾ã«èªãã¹ãææ¸ã«ã¤ãã¦å©è¨ãã¾ãã
æå¾ã«ã13é ã§ã¯ããã®ããã¥ã¡ã³ãã§ç¨ãã¦ããå ¨ã¦ã®ãªã³ããã¸ã¼ã®ä¾ããªã¹ãã¢ãããã¦ãã¾ãã
OWL 2è¨èªæ©è½ã®å æ¬çãªãªã¹ãã«é¢ãã¦ã¯ãæ§æã¨ä¾ã«é¢ããé©åãªããã¥ã¡ã³ãã®è©²å½ç®æã«ãªã³ã¯ãã¦ããOWL 2ã¯ã£ãã¯ã»ãªãã¡ã¬ã³ã¹ã»ã¬ã¤ã[OWL 2 Quick Guide]ãåç §ãã¦ãã ããã
OWL 1ã«ã¤ãã¦æ¢ã«ç¥ã£ã¦ããèªè ã¯ãOWL 2ã®æ°æ©è½ã¨åç[OWL 2 New Features and Rationale]ã«ãããOWL 2ã®å¤æ´ç¹ã«é¢ããå æ¬çãªæ¦è¦èª¬æãã覧ãã ããã
1.2 OWLæ§æOWLã¯ã»ãã³ãã£ãã¯ã»ã¦ã§ãç¨ã®è¨èªã§ãããããOWLã§ã¯ãååã¯ãå½éåè³æºèå¥åï¼IRIï¼[RFC 3987]ãç¨ãã¾ããIRIã¯é·ããããOWLã§ã®è¨è¿°ã«ããã¦ã¯ããã°ãã°çç¥å½¢ãç¨ãã¾ãããã®ãããªçç¥ãã©ã®ããã«æ©è½ãããã¯ãOWLãªã³ããã¸ã¼ã®ã³ã¼ãåã«ä½¿ç¨ã§ããæ§æã®å½¢å¼ã«ãã£ã¦ç°ãªãã¾ãããããã«é¢ãã詳細ãç¥ããªãã¦ãããã®ããã¥ã¡ã³ãã®ä¾ã¯ãæ¦ãçè§£ã§ãã¾ãã8.2é ã§ã¯ãé©åãªåå空éã®å®£è¨ã¨é¢é£ããã¡ã«ããºã ã«ã¤ãã¦ããã«è©³ç´°ã«ç¤ºãã¦ãã¾ãã
OWLã§ã¯ãæ§ã ãªç®çã«å½¹ç«ã¤æ§ã ãªæ§æãå©ç¨ã§ãã¾ãã颿°åæ§æ[OWL 2 Specification]ã¯ã仿§ãç°¡åã«ãªããAPIãæ¨è«ã·ã¹ãã ãªã©ã®OWL 2ã«ããããã¼ã«å®è£ ã®åºç¤ã¨ãªãããã«è¨è¨ããã¦ãã¾ããOWLã®RDF/XMLæ§æã¯ãOWLæ§æåç¨ã«ç¹å®ã®ç¿»è¨³ãè¡ã£ãã ãã®RDF/XMLã§ã[OWL 2 RDF Mapping]ãããã¯ããã¹ã¦ã®OWL 2ãã¼ã«ã«ãµãã¼ãã義åä»ãããã¦ããå¯ä¸ã®æ§æã§ãããã³ãã§ã¹ã¿ã¼æ§æ[OWL 2 Manchester Syntax]ã¯ãè«çå¦è ã§ã¯ãªã人ãããç°¡åã«èªããããã«ä½ãããOWLæ§æã§ããOWL XMLæ§æã¯ãXMLã¹ãã¼ãã§å®ç¾©ãããOWLç¨XMLæ§æã§ã[OWL 2 XML]ãOWLã®ç°ãæ§æéã®ç¿»è¨³ãå¯è½ãªãã¼ã«ãããã¾ããå¤ãã®æ§æå½¢å¼ã§ã¯ãOWLè¨èªæ§æåã¯IRIã§ã表ãããçç¥å½¢ãç¨ããããã«ã¯ãä¾ç¤ºã®éããããã¤ãã®å®£è¨ãå¿ è¦ã¨ãªããã¾ããå ã¨åæ§ã«ãå¿ è¦ãªè©³ç´°ã¯8.2é ã«ããã¾ãã
ä»é²ã®ä¾ã¨ãªã³ããã¸ã¼ã®ä¾ã¯ã4ã¤ã®ç°ãªãæ§æã®ããããã§ããã¨è¦ãªããã¨ãã§ããããã§ã¯ãRDF/XML[RDF Syntax]ã¨ãRDFãã¼ã¹ã®æ§æã®Turtle[RDF Turtle Syntax]ã·ãªã¢ã«åã®ä¸¡æ¹ãæä¾ãã¦ãã¾ããä¸ã®ãã¿ã³ã§ãããã¥ã¡ã³ãä¸ã«è¡¨ç¤ºãããæ§æãå¶å¾¡ã§ãã¾ãã
2 OWL 2ã¨ã¯OWL 2ã¯ããªã³ããã¸ã¼ã表ç¾ããããã®è¨èªã§ãããªã³ããã¸ã¼ã¨ããç¨èªã«ã¯ãã³ã³ãã¥ã¼ã¿ã»ãµã¤ã¨ã³ã¹ã®å å¤ã«ããã¦è¤éãªæ´å²ãããã¾ãããããã§ã¯ããã種ã®ã³ã³ãã¥ã¼ã¿ä¸ã®ã¢ã¼ãã£ãã¡ã¯ããããªãã¡ãããã°ã©ã ãXMLã¹ãã¼ããã¦ã§ãã»ãã¼ã¸ã®ãããªãä¸è¬ã«ããã¥ã¡ã³ãã¨ãã¦è¡¨ç¤ºããããã®ãæãããã«ä½¿ç¨ãã¾ãããªã³ããã¸ã¼ã¯ãä¸çã®ããé¨åï¼é常ããªã³ããã¸ã¼ã®é¢å¿é åã主é¡ã¨å¼ã°ããï¼ã«é¢ããæ£ç¢ºãªè¨è¿°è¡¨ç¾ã§ããæ£ç¢ºãªè¨è¿°ã¯ãããã¤ãã®ç®çãæºããã¾ããæã注ç®ãã¹ãã¯ã人éã®ã³ãã¥ãã±ã¼ã·ã§ã³ä¸ã®èª¤è§£ã鲿¢ããã½ããã¦ã§ã¢ã確å®ã«ä¸å¾ã®äºæ¸¬å¯è½ãªåä½ãè¡ããä»ã®ã½ããã¦ã§ã¢ã¨ãã¾ã飿ºãããã¨ã§ãã
é¢å¿é åã«ã¤ãã¦æ£ç¢ºã«è¨è¿°ããããã«ã¯ãä¸å¿ã¨ãªãç¨èªï¼ãã°ãã°èªå½ã¨å¼ã°ããï¼ãèãåºãããã®æå³ãå®ãããã¨ãæçã§ããèªç¶è¨èªã«ããç°¡æ½ãªå®ç¾©ã®ã»ãã«ãç¨èªãä»ã®ç¨èªã¨ã©ã®ãããªç¸é¢é¢ä¿ã«ããããè¿°ã¹ããã¨ã«ãã£ã¦ããã®ç¨èªã®æå³ã«ç¹æ§ãä¸ãããã¨ãã§ãã¾ããç¨èªã¯ããã®ãããªç¸é¢é¢ä¿ã®æ å ±ã¨å ±ã«èªå½ãæä¾ãããã¨ã§ãå ¸åçãªOWL 2ããã¥ã¡ã³ãã®æãéè¦ãªé¨åãæ§æãã¾ãããªã³ããã¸ã¼ã«ã¯ããã®ç¨èªã®ç¥èï¼terminological knowledgeï¼ã®ã»ãã«ãä¸è¬çãªæ¦å¿µã§ã¯ãªããèããããé åã®å ·ä½çå¯¾è±¡ãæ±ããããããè¨æçç¥èï¼assertional knowledgeï¼ãå«ã¾ãã¾ãã
OWL 2ã¯ããã°ã©ãã³ã°è¨èªã§ã¯ããã¾ãããOWL 2ã¯å®£è¨çãããªãã¡ãç¶æ³ãè«ççã«è¿°ã¹ã¾ããããã¦ããã®ç¶æ³ã«é¢ããè©³ç´°ãæ¨è«ããããã«ãé©åãªãã¼ã«ï¼æ¨è«ã·ã¹ãã ã¨ããï¼ã使ç¨ã§ãã¾ãããããã®æ¨è«ãã¢ã«ã´ãªãºã çã«ã©ã®ããã«å®ç¾ããããã¯ãOWLããã¥ã¡ã³ãã«ã¯å«ã¾ãã¦ããããç¹å®ã®å®è£ ã«ä¾åãã¾ããããã§ããªãããã®ãããªè³ªåã«å¯¾ããæ£ããçãã¯ã形弿å³è«ï¼ããã¯ããã¤ã¬ã¯ãã»ã»ãã³ãã£ã¯ã¹[OWL 2 Direct Semantics]ã¨RDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹[OWL 2 RDF-Based Semantics]ã¨ãã2ã¤ã®ãã¼ã¸ã§ã³ã«ãªãï¼ã§ãããããæ±ºã¾ã£ã¦ãã¾ãããããã®ã»ãã³ãã£ã¯ã¹ã«æºæ ããå®è£ ã®ã¿ããOWL 2ã«é©åãã¦ããã¨è¦ãªãããã§ãããï¼[OWL 2 Conformance]ãåç §ï¼ãOWL 2ããã¥ã¡ã³ãã®ä½æä½æ¥ã¯ã宣è¨çãªæ§è³ªãæãããããããã°ã©ãã³ã°ã¨ã¯æ¦å¿µçã«ç°ãªãã¾ããããã«ãã©ã¡ãã®å ´åããè¤éãªå½¢å¼çããã¥ã¡ã³ãã使ããããããæ¹æ³è«çã§å ±åçãªé¢ãã¢ã¸ã¥ã¼ã«åããã¿ã¼ã³ã®ãããªãã½ããã¦ã§ã¢å·¥å¦ã®æ¦å¿µã®ä¸é¨ããªã³ããã¸ã¼å·¥å¦ã«åãæ¸¡ããã¨ãã§ãã¾ãã
OWL 2ã¯ãæ§æä¸ã®é©åæ§ãç®æããã¹ãã¼ãè¨èªã§ã¯ããã¾ãããXMLã¨ã¯éã£ã¦ãOWL 2ã¯ãããã¥ã¡ã³ããã©ã®ããã«æ§æçã«æ§é åãã¹ãããè¦å®ããããã®é«åº¦ãªææ®µãæä¾ãã¾ãããç¹ã«ãããæ å ±ï¼ãã人ã®ç¤¾ä¼ä¿éºçªå·ã®ãããªï¼ãæ§æçã«å¿ ãåå¨ãããæ¹æ³ã¯ããã¾ãããã¦ã¼ã¶ããã®ãããªèª¤è§£ãæã¤å¯è½æ§ãããç¹å¾´ãOWLã«ã¯ããã¨ãããã¨ãè¦ãã¦ããã¹ãã§ãã
OWL 2ã¯ããã¼ã¿ãã¼ã¹ã®ãã¬ã¼ã ã¯ã¼ã¯ã§ã¯ããã¾ããã確ãã«ãOWL 2ããã¥ã¡ã³ãã¯æ å ±ãèç©ããããããã¼ã¿ãã¼ã¹ã¨è¨ãã¾ããããã«ãè¨ææ å ±ã¨ãã¼ã¿ãã¼ã¹ã»ã³ã³ãã³ãã¨ã®é¡ä¼¼æ§ãç¨èªæ å ±ã¨ãã¼ã¿ãã¼ã¹ã»ã¹ãã¼ãã¨ã®é¡ä¼¼æ§ãææã§ãã¾ããããããé常ã¯ãæ ¹æ¬çãªåæï¼æè¡çã«ã¯ã使ç¨ããã»ãã³ãã£ã¯ã¹ï¼ã«æ±ºå®çãªéããããã¾ãããã¼ã¿ãã¼ã¹ã§ã¯ãããäºå®ãåå¨ãã¦ããªããã°ãé常ããå½ãã¨ã¿ãªããã¾ãï¼ãããããéä¸ç仮説ï¼ããOWL 2ããã¥ã¡ã³ãã®å ´åã¯ãéä¸ç仮説ã«å¾ãããããåå¨ãã¦ããªãï¼ããããçããããããªãï¼ã ãã§ãããã¾ããããã«ãåè¨ã®éãããã¼ã¿ãã¼ã¹ã»ã¹ãã¼ãã«ã¯ãè¦å®ã®å¶ç´ä»ãã»ãã³ãã£ã¯ã¹ãåãããã¦ãããã¨ãå¤ãã§ãããããããã¼ã¿ãã¼ã¹ã¯ãæè¡çã«ãå¤ãã®ãªã³ããã¸ã¼æåã®ã·ã¹ãã ã«å®è¡å¯è½ãªããã¯ãã¼ã³ãä¸ãã¾ãã
3 ç¥èã®ã¢ãã«åï¼åºæ¬æ¦å¿µOWL 2ã¯ãé¢å¿é åã«é¢ããç¥èããçµç¹åã交æãæ¨è«ããããã«è¨è¨ãããç¥è表ç¾è¨èªã§ããOWL 2ã«ããã¦ç¥èãã©ã®ããã«è¡¨ç¾ãããããçè§£ããããã«ãããã¤ãã®æ ¹æ¬çãªè¦³å¿µãæåã«èª¬æãã¹ãã§ãããããããã®åºæ¬æ¦å¿µã¯æ¬¡ã®éãã§ãã
OWL 2ã¯ç¥èã®ææãç®çã¨ãã¦ãã¾ãããOWLã表ç¾ã§ãããç¥èãã¯ãå½ç¶ãªããã人éã®ç¥èã®ããããå´é¢ãåæ ãã¦ããããã§ã¯ããã¾ãããOWLã¯ã人éã®ç¥èã®ããé¨åã«é¢ããå¼·åãªæ±ç¨ã¢ãã«åè¨èªã§ããã¨èãããã¨ãã§ãã¾ããã¢ãã«å使¥ã®çµæã¯ããªã³ããã¸ã¼ã¨å¼ã°ãã¾ãããªã³ããã¸ã¼ã¯ãç¥è表ç¾ã«ããã¦ãã¢ãã«ãã¨ããç¨èªãããªãç°ãªãæå³ã§ç¨ãããããã¨ãå¤ããããæ··ä¹±ãé¿ããããã«ç¨ãããã¦ããç¨èªã§ãã
ã¨ããã§ãç¥èãæç¢ºã«çµç¹åããããã«ã¯ãç¥èã¯ã¹ãã¼ãã¡ã³ããå½é¡ã¨å¼ã°ããåºæ¬çãªæçããæ§æããããã¨ãå¤ãã¨æ³å®ããã¨è¯ãã§ãããé¨ãéã£ã¦ããããããã¹ã¦ã®äººéã®å½ã«ã¯éãããããã¨ãã£ãã¹ãã¼ãã¡ã³ãã¯ããã®ãããªåºæ¬çå½é¡ã®å ¸åä¾ã§ããå®éãããããOWL 2ãªã³ããã¸ã¼ã¯æ¬è³ªçã«ããã®ãããªåºæ¬çãªãç¥èã®æçãã®åãªãéåã§ãããªã³ããã¸ã¼ã§åºãããã¹ãã¼ãã¡ã³ãã¯ãOWL 2ã§ã¯å ¬çã¨å¼ã°ãããªã³ããã¸ã¼ã¯å ¬çãçã§ããã¨è¨æãã¾ããä¸è¬ã«ãããç¶æ³ãä¸ããããå ´åãOWLã¹ãã¼ãã¡ã³ãã¯ãçãå½ãã®ããããã§ãããã¾ãã以ä¸ã§è©³ç´°ã説æããããã«ããã®ç¹ã§ãã¨ã³ãã£ãã£ã¼ãå¼ã¨ç°ãªã£ã¦ãã¾ãã
人éãèããã¨ãã«ã¯ãèªåéã®ç¥èããçµè«ãå°ãåºãã¾ããOWLã®éè¦ãªæ©è½ã¯ã人éã®ç¥è½ã®ãã®ç¹å¾´ããããã表ç¾ã§ããç¥èã®å½¢å¼ã§ææããã¨ãããã¨ã§ããããããã¹ãã¼ãã¡ã³ããä»ã®ã¹ãã¼ãã¡ã³ãã®çµæã§ããã¨ã¯ãæ¦ãã¦ä½ãæå³ããã®ã§ãããã?æ¬è³ªçã«ãããã¯ããã®ã¹ãã¼ãã¡ã³ãã¯ãä»ã®ã¹ãã¼ãã¡ã³ããçã§ããã°å¸¸ã«çã§ããã¨ãããã¨ãæå³ãã¾ããOWLã®ç¨èªã§ã¯ãAã®ãã¹ã¦ã®ã¹ãã¼ãã¡ã³ããçã§ããç¶æ³ã«ããã¦ãaãçã§ããå ´åãã¹ãã¼ãã¡ã³ãAã¯ã¹ãã¼ãã¡ã³ãaã嫿ããã¨è¨ãã¾ããããã«ãã¹ãã¼ãã¡ã³ãã®éåã¯ãæ´åæ§ãããï¼ããªãã¡ããã®éåã®ä¸ã®ãã¹ã¦ã®ã¹ãã¼ãã¡ã³ããåããã¦çã§ãããããªç¶æ³ãããããï¼ãã¨ããçç¾ãã¦ããï¼ãã®ãããªç¶æ³ããªãï¼ãã¨ããããã¾ããOWLã®å½¢å¼æå³è«ã¯ãå®è³ªçã«ãç¹å®ã®OWLã¹ãã¼ãã¡ã³ãããã©ã®ãããªãããããç¶æ³ãã«å¯¾ãã¦çã§ããããå®ãã¾ãã
èªåçã«çµæãç®åºã§ããOWLãã¼ã«ï¼æ¨è«ã·ã¹ãã ï¼ãããã¾ãããªã³ããã¸ã¼ä¸ã®å ¬çã®ç¸äºä½ç¨ã¯ãé常ã«å¾®å¦ã§ããã人ãçè§£ããã®ã¯é£ããå ´åãããã¾ããããã¯ãOWL 2ã®é·æã§ãããçæã§ãããã¾ããOWL 2ãã¼ã«ã¯ãäººãæ°ä»ããªãæ å ±ãçºè¦ã§ãããããé·æã¨è¨ãã¾ããããã«ãããç¥èå·¥å¦è ã¯ããç´æ¥çã«ã¢ãã«åãè¡ããã¨ãã§ããã·ã¹ãã ã¯ã¢ãã«åã«é¢ããæçãªãã£ã¼ãããã¯ãæ¹è©ãæä¾ãããã¨ãã§ããããã«ãªãã¾ããæ§ã ã«çµã¿åãããããæ§ã ãªæ§æåã®å®éã®å¹æã人éãå³åº§ã«è¦éããã¨ã¯æ¯è¼çé£ãããããå¼±ç¹ã¨è¨ãã¾ãããã¼ã«ã®ãµãã¼ãã«ããç¶æ³ã¯æ¹åãã¾ãããç¥èè¨è¨ã®æåã«ã¯ãããã«ããããã®è¨ç·´ã¨çµé¨ãå¿ è¦ãªãã¨ãå¤ãã§ãã
OWLã®ã¹ãã¼ãã¡ã³ããããè¦ãã¨ãã¹ãã¼ãã¡ã³ãããåä½ãã§ãããã¨ã¯ç¨ã§ãããæç¤ºçã«è¡¨ç¾ã§ããä½ããã®å 鍿§é ãæãã¦ãããã¨ãå¤ããã¨ããããã¾ããé常ãä¸çã®ãªãã¸ã§ã¯ããåç §ããä¾ãã°ãã«ãã´ãªã¼åãï¼ãã¡ã¢ãªã¼ã¯å¥³æ§ã§ãããã®ãããªï¼ãè¡ã£ããããã®é¢ä¿ã«ã¤ãã¦ä½ããè¿°ã¹ãï¼ãã¸ã§ã³ã¨ã¡ã¢ãªã¼ã¯çµå©ãã¦ãããï¼ãã¨ã«ãã£ã¦è¨è¿°ãã¾ãããªãã¸ã§ã¯ãï¼ã¸ã§ã³ãã¡ã¢ãªã¼ï¼ã§ãããã«ãã´ãªã¼ï¼å¥³æ§ï¼ã§ãããé¢ä¿ï¼çµå©ãã¦ããï¼ã§ãããã¹ãã¼ãã¡ã³ãã®ããããååçæ§æè¦ç´ ãã¨ã³ãã£ãã£ã¼ã¨å¼ã³ã¾ããOWL 2ã§ã¯ããªãã¸ã§ã¯ããåä½ã¨ãã¦ãã«ãã´ãªã¼ãã¯ã©ã¹ã¨ãã¦ãé¢ä¿ãããããã£ã¼ã¨ãã¦è¡¨ãã¾ããOWL 2ã®ããããã£ã¼ã¯ãããã«ç´°ååããã¦ãã¾ãããªãã¸ã§ã¯ãã»ããããã£ã¼ã¯ããªãã¸ã§ã¯ãããªãã¸ã§ã¯ãã«é¢é£ä»ãï¼ä¾ãã°ããã人ããã®é å¶è ã«é¢é£ä»ããï¼ããã¼ã¿åããããã£ã¼ã¯ãã¼ã¿å¤ããªãã¸ã§ã¯ãã«å²ãå½ã¦ã¾ãï¼ä¾ãã°ã人ã«å¹´é½¢ãå²ãå½ã¦ãï¼ãã¢ããã¼ã·ã§ã³ã»ããããã£ã¼ã¯ãé¢å¿é åã§ã¯ãªãããªã³ããã¸ã¼èªèº«ï¼ã®ä¸é¨ï¼ã«é¢ããæ å ±ï¼å ¬çã®ä½è ã¨ä½ææ¥ã®ãããªï¼ãã³ã¼ãåããããã«ç¨ãã¾ãã
OWLã®ä¸»è¦æ©è½ã¨ãã¦ãããããã³ã³ã¹ãã©ã¯ã¿ãç¨ãã¦ãã¨ã³ãã£ãã£ã¼åãçµåãã¦å¼ã«ãããã¨ãã§ãã¾ããç°¡åãªä¾ã¨ãã¦ã¯ã女æ§ã®ææã¨ããã¯ã©ã¹ãè¨è¿°ããããã«ãã女æ§ãã¨ãææãã¨ããååã¯ã©ã¹ãçµåã§ãã¾ããå¾è ã¯ãOWLã¯ã©ã¹ã®å¼ã§è¨è¿°ãããããã¹ãã¼ãã¡ã³ããä»ã®å¼ã«å©ç¨ã§ãã¾ãããã®æå³ã«ããã¦ãå¼ã¯ããã®æ§é ã«ããå®ç¾©ãããæ°ããªã¨ã³ãã£ãã£ã¼ã¨ã¿ãªããã¨ãã§ãã¾ããOWLã§ã¯ãã¨ã³ãã£ãã£ã¼ã®ç¨®é¡ãã¨ã«ã³ã³ã¹ãã©ã¯ã¿ã¯å¤§ããç°ãªã£ã¦ãã¾ããã¯ã©ã¹ç¨ã®è¡¨ç¾è¨èªã¯é常ã«è±ãã§æ´ç·´ããã¦ãã¾ãããããããã£ã¼ç¨ã®è¡¨ç¾è¨èªã¯ãã¾ãããã§ã¯ããã¾ããããããã®éãã«ã¯ãæ´å²çãã¤æè¡çãªçç±ãããã¾ãã
4 ã¯ã©ã¹ãããããã£ã¼ãåä½ â ããã³ãããããç¨ããåºæ¬çã¢ãã«åä¸è¬çãªèå¯ã®å¾ã«ãããã§ã¯ãOWL 2ã§ã®ã¢ãã«åã«é¢ãã¦è©³ç´°ã«æ±ãã¾ããæ¬¡ã®é ã§ã¯ãOWL 2ãæä¾ããéè¦ãªã¢ãã«åæ©è½ããä¾ã¨ãã®å©ç¨æ¹æ³ã«é¢ãã¦ãä¸è¬çãªã³ã¡ã³ãã示ããªããç´¹ä»ãã¦ãã¾ããåºæ¬çã«ããããã¢ãã«è¨èªã§å©ç¨ã§ããåºæ¬æ©è½ããå§ããããé«åº¦ãªã³ã³ã¹ãã©ã¯ã¿ã¸ã¨é²ã¿ã¾ãã
ããã§ã¯ãç¹å®ã®å®¶æã«é¢ããæ å ±ãæç¤ºãã¦ãã¾ãããã®ä¾ã¯ãOWLãç¨ããã¹ãé åã代表ãããã®ã§ã¯ãªããããã«ãOWLãç¨ããè¯ãã¢ãã«åã®è¦ç¯ä¾ã§ããããªãè¤éã§ãå¤ããããããæåã«ä¾åãããå®¶æã«é¢ããé åãæ£ã表ç¾ãããã®ã§ãããã¾ãããããããOWLã®æ§ã ãªæ©è½ããããªãç°¡æ½ã«ç¤ºããã¨ãããã®ã§ãã
4.1 ã¯ã©ã¹ã¨ã¤ã³ã¹ã¿ã³ã¹ããã§è©±é¡ã«ãã人ã ãç´¹ä»ãããã¨ããå§ãã¾ããããã¯ã次ã®éãã«è¡ããã¨ãã§ãã¾ãã
ClassAssertion( :Person :Mary )
<Person rdf:about="Mary"/>
Individual: Mary Types: Person
<ClassAssertion> <Class IRI="Person"/> <NamedIndividual IRI="Mary"/> </ClassAssertion>
ãã®ã¹ãã¼ãã¡ã³ãã¯ãã¡ã¢ãªã¼ï¼Maryï¼ã¨ããåä½ã«é¢ãã¦è¿°ã¹ã¦ããããã®åä½ã人ï¼Personï¼ã§ããã¨è¿°ã¹ã¦ãã¾ããããæè¡çã«ã¯ã人ã§ãããã¨ã¯ãã¡ã¢ãªã¼ããããã人ã®ã¯ã©ã¹ã«å±ãã¦ããï¼ã¾ãã¯ãã¡ã³ãã¼ã§ãããããããæè¡çã«ã¯ãã¤ã³ã¹ã¿ã³ã¹ã§ãããï¼ã¨è¿°ã¹ããã¨ã«ãã£ã¦è¡¨ããã¾ããä¸è¬ã«ãã¯ã©ã¹ã¯ãå
±éç¹ãããåä½ãã°ã«ã¼ãã³ã°ãããããåç
§ããããã«ç¨ãã¾ãããããã£ã¦ãæ¬æ¥ãã¯ã©ã¹ã¯åä½ã®éåã表ãã¾ããã¢ãã«åã«ããã¦ã¯ãã¯ã©ã¹ã¯ã人ã¨ããæ¦å¿µã女æ§ï¼Womanï¼ã¨ããæ¦å¿µãªã©ã®ã人éã®æèã®æ¦å¿µããæããªãã¸ã§ã¯ãã®éåã示ãããã«ç¨ãããããã¨ãå¤ãã§ãããã®çµæãå種é¡ã®ã¹ãã¼ãã¡ã³ããç¨ãã彼女ã女æ§ã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ããã¨è¡¨ç¾ãããã¨ã«ãã£ã¦ãã¡ã¢ãªã¼ã女æ§ã§ããã¨ç¤ºããã¨ãã§ãã¾ãã
ClassAssertion( :Woman :Mary )
<Woman rdf:about="Mary"/>
Individual: Mary Types: Woman
<ClassAssertion> <Class IRI="Woman"/> <NamedIndividual IRI="Mary"/> </ClassAssertion>
ããã«ãããã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããæä»çã§ãªããã¨ãæç¢ºã«ãªãã¾ããåä½ã®ã°ã«ã¼ãã³ã°ã«ã¯ãã¾ãã¾ãªåºæºï¼æ§å¥ãå¹´é½¢ãé´ã®ãµã¤ãºãªã©ã®ï¼ãããããããã1ã¤ã®åä½ã¯ãæãããåæã«è¤æ°ã®ã¯ã©ã¹ã«å±ãã¦ããã§ãããã
4.2 ã¯ã©ã¹ã®é層åé ã§ããããã人ã®ã¯ã©ã¹ã¨ãããã女æ§ã®ã¯ã©ã¹ã¨ããã2ã¤ã®ã¯ã©ã¹ã«ã¤ãã¦è©±ãã¾ããã人éã®èªè ã«ã¨ã£ã¦ã¯ããããã®2ã¤ã®ã¯ã©ã¹ãç¹å¥ãªé¢ä¿ã«ãããã¨ã¯æç¢ºã§ããã¤ã¾ãã人ã¯å¥³æ§ããä¸è¬çã§ãããããåä½ã女æ§ã§ãããã¨ãç¥ã£ã¦ããã°ããã®åä½ã¯å¸¸ã«äººã§ããã«éããªãã¨ãããã¨ã¯æç¢ºã§ãããããããã®å¯¾å¿é¢ä¿ã¯ãã人ãã¨ã女æ§ãã¨ããã©ãã«ããã¯å¾ããããã®ã§ã¯ãªããä¸çãç¨èªã®ç¨æ³ã«é¢ãã人éã®äºåç¥èã®ä¸é¨ã§ãããããã£ã¦ãã·ã¹ãã ãæã¾ããçµæãå¾ãããããã«ããããã«ã¯ããã®å¯¾å¿é¢ä¿ã«é¢ããç¥èãæã£ã¦ããªããã°ãªãã¾ããã OWL 2ã§ã¯ããããããµãã¯ã©ã¹å ¬çã«ãã£ã¦ãããå®ç¾ãã¾ãã
SubClassOf( :Woman :Person )
<owl:Class rdf:about="Woman"> <rdfs:subClassOf rdf:resource="Person"/> </owl:Class>
:Woman rdfs:subClassOf :Person .
Class: Woman SubClassOf: Person
<SubClassOf> <Class IRI="Woman"/> <Class IRI="Person"/> </SubClassOf>
ãã®å ¬çããªã³ããã¸ã¼ã«åå¨ãã¦ãããã¨ã«ããã女æ§ã¨ããã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ï¼äººã¨ããã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãããï¼ã¨ãã¦æå®ãããã¹ã¦ã®åä½ã«å¯¾ãã¦æ¨è«ãè¡ãæ¨è«ã·ã¹ãã ãå¯è½ã«ãªãã¾ãã大ãã£ã±ã«è¨ãã°ããããããAãBã§ãããã¨ãã表ç¾ãæå³ããªããæ£ããå ´åã«ã¯ã2ã¤ã®ã¯ã©ã¹Aã¨Bã®ãµãã¯ã©ã¹é¢ä¿ãæå®ã§ãã¾ãã
ãªã³ããã¸ã¼ã®ã¢ãã«åã§ã¯ããã®ãããªç¸äºä¾åæ§ãæ£çºçã«å®£è¨ããããã ãã§ãªããé¢å¿é åã®ããããã¯ã©ã¹ã®æ±åé¢ä¿ãå®ãããã¨ã«ãã£ã¦ãã¯ã©ã¹ã®éå±¤å ¨ä½ãã¢ãã«åããããã«ããµãã¯ã©ã¹ã®ã¹ãã¼ãã¡ã³ããç¨ããã®ãä¸è¬ã§ããããããæ¯ï¼Motherï¼ã女æ§ã§ããã¨ãããã¨ãè¿°ã¹ããã¨ä»®å®ãã¦ãã ããã
SubClassOf( :Mother :Woman )
<owl:Class rdf:about="Mother"> <rdfs:subClassOf rdf:resource="Woman"/> </owl:Class>
:Mother rdfs:subClassOf :Woman .
Class: Mother SubClassOf: Woman
<SubClassOf> <Class IRI="Mother"/> <Class IRI="Woman"/> </SubClassOf>
æ¨è«ã·ã¹ãã ã¯ãæ¯ã§ããã¨åé¡ããã¦ããããããä¸ã¤ã®åä½ãã女æ§ï¼ããããã«ã人ï¼ã§ãããã¨ãããã¨ã ãã§ãªããæ¯ã¯äººã®ãµãã¯ã©ã¹ã§ãªããã°ãªããªãï¼æã ã®ç´è¦³éãã«ï¼ã¨ãããã¨ãå°ãåºãã¾ããæè¡çã«ã¯ãããã¯ãã¯ã©ã¹ã¨ã®ãµãã¯ã©ã¹é¢ä¿ãæ¨ç§»çã§ããã¨ãããã¨ãæå³ãã¾ãã䏿¹ã§ãåå°çã§ãããã¾ããããã¯ãããããã¯ã©ã¹ãããèªèº«ã®ãµãã¯ã©ã¹ã§ãããã¨ãæå³ããæããã«ãã¹ã¦ã®äººã¯äººã§ãããããç´æçã§ãããã¾ãã
æã ã®èªå½ã®è¤æ°ã®ã¯ã©ã¹ã¯ãäºå®ä¸ãåãéåãæãå¯è½æ§ããããOWLã¯ãããããæå³çã«åçã§ããã¨è¦ãªãã¡ã«ããºã ãåãã¦ãã¾ããä¾ãã°ãã人ãã¨ã人éãã¨ããç¨èªãåãæå³ã§ç¨ããããã¯ã人ã¨ããã¯ã©ã¹ã®ããããã¤ã³ã¹ã¿ã³ã¹ã人éã¨ããã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãããããã®éãã¾ãåæ§ã§ãããã¨ãæå³ãã¾ããå ¨ãåãåä½ãå«ãå ´åã«ã¯ã2ã¤ã®ã¯ã©ã¹ã¯åçã§ããã¨è¦ãªããã¾ããæ¬¡ã®ä¾ã¯ã人ã¨ããã¯ã©ã¹ã人éï¼Humanï¼ã¨ããã¯ã©ã¹ã¨åçã§ããã¨è¿°ã¹ã¦ãã¾ãã
EquivalentClasses( :Person :Human )
<owl:Class rdf:about="Person"> <owl:equivalentClass rdf:resource="Human"/> </owl:Class>
:Person owl:equivalentClass :Human .
Class: Person EquivalentTo: Human
<EquivalentClasses> <Class IRI="Person"/> <Class IRI="Human"/> </EquivalentClasses>
人ã¨äººéãåçã§ããã¨è¿°ã¹ããã¨ã¯ã人ã¯äººéã®ãµãã¯ã©ã¹ã§ããã人éã¯äººã®ãµãã¯ã©ã¹ã§ãããã¨è¿°ã¹ããã¨ã¨å®å ¨ã«åãã§ãã
4.3 ç´ ã§ããã¯ã©ã¹4.1é ã§ãåä½ã¯è¤æ°ã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã«ãªããããã¨ãè¿°ã¹ã¾ãããããããããã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããå¥ã®ã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããæããã«æé¤ããå ´åãããã¾ããä¾ãã°ãç·æ§ã¨å¥³æ§ã®ã¯ã©ã¹ã®ä¾ã§ã¯ã両æ¹ã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ããåä½ãåå¨ãããã¨ãæé¤ã§ãã¾ãï¼ä¾ç¤ºãç®çã¨ãã¦ãããããããã§ã¯ãçç©å¦çã«ä¸æç¢ºãªäºä¾ãç¡è¦ãã¾ãï¼ãã¯ã©ã¹éã®ãã®ãä¸ä¸è´é¢ä¿ãã¯ãç´ ã§ããï¼ã¯ã©ã¹ï¼ã¨å¼ã³ã¾ããå ã¨åæ§ã«ã2ã¤ã®ã¯ã©ã¹ãç´ ã§ããã¨ããæ å ±ã¯ãæã ã®äºåç¥èã®ä¸é¨ã§ãããæ¨è«ã·ã¹ãã ããããå©ç¨ããããã«ã¯ãæç¤ºãã¦ããå¿ è¦ãããã¾ããããã¯ã次ã®ããã«å®ç¾ãã¾ãã
DisjointClasses( :Woman :Man )
<owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about="Woman"/> <owl:Class rdf:about="Man"/> </owl:members> </owl:AllDisjointClasses>
[] rdf:type owl:AllDisjointClasses ; owl:members ( :Woman :Man ) .
DisjointClasses: Woman, Man
<DisjointClasses> <Class IRI="Woman"/> <Class IRI="Man"/> </DisjointClasses>
å®éã«ã¯ãç´ ã®ã¹ãã¼ãã¡ã³ãã¯ãå¿ããããç¡è¦ããããã¨ãå¤ãã§ãããã®çç±ã¯ãè°è«ã®ä½å°ãããã¾ãããä»ã®è¨¼æ ããªããã°ãç´è¦³çã«ã¯ã©ã¹ã¯ç´ ã§ããã¨è¦ãªãããããããããã¾ãããç´ ã®ã¹ãã¼ãã¡ã³ããçç¥ããã¨ãå¤ãã®æ½å¨çã«æçãªçµæã失ãå¯è½æ§ãããã¾ããããã®ä¾ã§ã¯ãã¡ã¢ãªã¼ãç·æ§ã§ãªãã¨æ¨è«ããããã«ãç´ ã®å ¬çãå¿ è¦ã§ãããã¨ã«æ³¨æãã¦ãã ãããããã«ãä¸è¨ã®å ¬çã«å¯¾ããæ¨è«ã·ã¹ãã ã¯ãæ¯ã¨ããã¯ã©ã¹ã¨ç·æ§ã¨ããã¯ã©ã¹ãç´ ã§ãããã¨ãæ¨è«ã§ãã¾ãã
4.4 ãªãã¸ã§ã¯ãã»ããããã£ã¼ä»¥åã®é ã§ã¯ãä¸ã¤ã®åä½ããã®ã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããããã¦ãã¤ã³ã¹ã¿ã³ã¹ã«åºã¥ãã¦è¤æ°ã®ã¯ã©ã¹ãäºãã«é¢é£ä»ããæ¹æ³ã説æãã¾ããããããããã°ãã°ããªã³ããã¸ã¼ã¯ãåä½ãä»ã®åä½ã«é¢é£ä»ããæ¹æ³ãæå®ããããã®ãã®ã§ãããã¾ããå®¶æã«ã¤ãã¦è¨è¿°ããå ´åã«ã¯ããããã®é¢ä¿ã¯éè¦ã§ãã ã¡ã¢ãªã¼ãã¸ã§ã³ã®å¦»ã§ãããã¨ã示ããã¨ããå§ãã¾ãã
ObjectPropertyAssertion( :hasWife :John :Mary )
<rdf:Description rdf:about="John"> <hasWife rdf:resource="Mary"/> </rdf:Description>
Individual: John Facts: hasWife Mary
<ObjectPropertyAssertion> <ObjectProperty IRI="hasWife"/> <NamedIndividual IRI="John"/> <NamedIndividual IRI="Mary"/> </ObjectPropertyAssertion>
ããã§ãåä½ãã©ã®ãããªæ¹æ³ã§é¢é£ä»ãããã¦ããããè¨è¿°ãã¦ããã¨ã³ãã£ãã£ã¼ï¼ä¾ãã°ãããã®ä¾ã§ã¯ãhasWifeï¼å¦»ãæã¤ï¼ï¼ã¯ãããããã£ã¼ã¨å¼ã°ãã¾ãã
åä½ãè¨è¿°ããã¦ããé åºãéè¦ã§ãããã¨ã«æ³¨æãã¦ãã ããããã¡ã¢ãªã¼ã¯ã¸ã§ã³ã®å¦»ã§ãããã¯ãçã§ãããã¾ããããã¸ã§ã³ã¯ã¡ã¢ãªã¼ã®å¦»ã§ãããã¯å ¨ãçã§ã¯ããã¾ãããå®éãããã¯ãã¢ãã«åã«ãããã¡ãªã¨ã©ã¼ã®åå ã§ãä¸ã¤ã®ç´æçãªè§£éã®ã¿ãèªããããããããã£ã¼åãç¨ãããã¨ã«ãã£ã¦é¿ãããã¨ãã§ãã¾ããåè©ï¼ã妻ãï¼wifeï¼ãªã©ï¼ã®å ´åããã®ãããªä¸æã®ååã¯ãofãããhasããä»ä¸ããæ§é ï¼wifeOfãhasWifeï¼ã§ãããã¾ããåè©ï¼ãæãããï¼to loveï¼ãªã©ï¼ã®å ´åã«ã¯ãæ´»ç¨å½¢ï¼æããï¼lovesï¼ï¼ããbyããä»ä¸ããååæ ï¼lovedByï¼ã«ãããäºæãã¬è§£éãé²ããã§ãããã
2ã¤ã®åä½ãããããã£ã¼ã«ãã£ã¦çµåããã¦ããªãã¨è¿°ã¹ããã¨ãã§ãã¾ããä¾ãã°ã次ã¯ãã¡ã¢ãªã¼ããã«ã®å¦»ã§ãªãã¨è¿°ã¹ã¦ãã¾ãã
NegativeObjectPropertyAssertion( :hasWife :Bill :Mary )
<owl:NegativePropertyAssertion> <owl:sourceIndividual rdf:resource="Bill"/> <owl:assertionProperty rdf:resource="hasWife"/> <owl:targetIndividual rdf:resource="Mary"/> </owl:NegativePropertyAssertion>
[] rdf:type owl:NegativePropertyAssertion ; owl:sourceIndividual :Bill ; owl:assertionProperty :hasWife ; owl:targetIndividual :Mary .
Individual: Bill Facts: not hasWife Mary
<NegativeObjectPropertyAssertion> <ObjectProperty IRI="hasWife"/> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="Mary"/> </NegativeObjectPropertyAssertion>
å¦å®ã®ããããã£ã¼è¨æã¯ãçã§ãªããã¨ãåãã£ã¦ããã¹ãã¼ãã¡ã³ããè¡ãå¯ä¸ã®æ©ä¼ãæä¾ãã¦ããã¾ããä½ããè¿°ã¹ãã¾ã§ã¯ä½ã§ãããããã¨ããã®ãæ¢å®ã®å§¿å¢ã§ããOWLã«ããã¦ã¯ããã®ç¨®ã®æ å ±ã¯ç¹ã«éè¦ã§ãã
4.5 ããããã£ã¼ã®é層4.2é ã§ã¯ã1ã¤ã®ã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããå¥ã®ã¡ã³ãã¼ã·ãããå«ãã¨è¨è¿°ãããã¨ãæçã§ããã¨è«ãã¾ãããåºæ¬çã«ãããããã£ã¼ã®å ´åãåãç¶æ³ã¯èµ·ãããã¾ããä¾ãã°ãBãAã®å¦»ã§ãããã¨ãåãã£ã¦ããå ´åã«ã¯ãBã¯å¸¸ã«Aã®é å¶è ã§ããããã¨ã¯æããã§ãï¼ãã®éã¯çã§ãªããã¨ã«æ³¨æï¼ãOWLã§ã¯ããã®ã¹ãã¼ãã¡ã³ããæ¬¡ã®éãã«è¨è¿°ãã¾ãã
SubObjectPropertyOf( :hasWife :hasSpouse )
<owl:ObjectProperty rdf:about="hasWife"> <rdfs:subPropertyOf rdf:resource="hasSpouse"/> </owl:ObjectProperty>
:hasWife rdfs:subPropertyOf :hasSpouse .
ObjectProperty: hasWife SubPropertyOf: hasSpouse
<SubObjectPropertyOf> <ObjectProperty IRI="hasWife"/> <ObjectProperty IRI="hasSpouse"/> </SubObjectPropertyOf>
ããããã£ã¼åçã«ã¯ãæ§æã®çç¥å½¢ãããããã®ç¹ã§ãã¯ã©ã¹ã®åçæ§ã¨é¡ä¼¼ãã¦ãã¾ãã
4.6 å®ç¾©åã¨å¤åã®å¶éãã°ãã°ã2ã¤ã®åä½ãç¹å®ã®ããããã£ã¼ã«ãã£ã¦äºãã«é¢é£ä»ãããã¦ããã¨ããæ å ±ã«ãã£ã¦ãåä½èªèº«ã«é¢ããæ´ãªãçµè«ãåºããã¨ãå¯è½ã«ãªãã¾ããç¹ã«ãã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããæ¨è«ãããã¨ãã§ãã¾ããä¾ãã°ãBãAã®å¦»ã§ããã¨ããã¹ãã¼ãã¡ã³ãã¯ãæããã«Bã女æ§ã§Aãç·æ§ã§ãããã¨ã嫿ãã¾ãããã®ãããããæå³ã§ã2ã¤ã®åä½ãç¹å®ã®ããããã£ã¼ã§é¢é£ä»ãããã¦ããã¨ããã¹ãã¼ãã¡ã³ãã¯ããããã®åä½ã«é¢ããæé»ã®è¿½å æ å ±ãå«ãã§ãã¾ããããã®ä¾ã§ã¯ããã®è¿½å æ å ±ã¯ãã¯ã©ã¹ã®ã¡ã³ãã¼ã·ããã§è¡¨ç¾ã§ãã¾ããOWLã¯ãã®å¯¾å¿é¢ä¿ãè¨è¿°ããæ¹æ³ãæä¾ãã¾ãã
ObjectPropertyDomain( :hasWife :Man ) ObjectPropertyRange( :hasWife :Woman )
<owl:ObjectProperty rdf:about="hasWife"> <rdfs:domain rdf:resource="Man"/> <rdfs:range rdf:resource="Woman"/> </owl:ObjectProperty>
:hasWife rdfs:domain :Man ; rdfs:range :Woman .
ObjectProperty: hasWife Domain: Man Range: Woman
<ObjectPropertyDomain> <ObjectProperty IRI="hasWife"/> <Class IRI="Man"/> </ObjectPropertyDomain> <ObjectPropertyRange> <ObjectProperty IRI="hasWife"/> <Class IRI="Woman"/> </ObjectPropertyRange>
ãããã®2ã¤ã®å ¬çãåå¨ãã¦ãã¦ãä¾ãã°ããµã¼ã·ã£ã¯hasWifeã¨ããããããã£ã¼ã§ãã©ãªã¼ã¨é¢é£ä»ããã¦ããã¨ããæ å ±ãããã°ãæ¨è«ã·ã¹ãã ã¯ããµã¼ã·ã£ãç·æ§ã§ããããã©ãªã¼ã女æ§ã§ããã¨æ¨è«ã§ããã§ãããã
4.7 åä½ã®åçæ§ã¨ä¸åçæ§ä»ã¾ã§ã«æä¾ããæ å ±ãããã¸ã§ã³ã¨ã¡ã¢ãªã¼ã¯ãããããç·æ§ã¨å¥³æ§ã¨ããç´ ã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ãã§ãããã¨ãåãã£ã¦ãããããå½¼ããåãåä½ã§ãªãã¨æ¨è«ã§ãããã¨ã«æ³¨æãã¦ãã ãããããããå¥ã®å®¶æã®æ å ±ãä¾ãã°ãã«ã追å ãã¦ãå½¼ãç·æ§ã§ããã¨ç¤ºãã°ãä»ã¾ã§ã®ã¨ãããã¸ã§ã³ã¨ãã«ãåãã§ãªããã¨ãæå³ãããã¨ã¯ä½ãè¿°ã¹ããã¦ãã¾ãããOWLã¯ãç°ãªãååãç°ãªãåä½ã®ååã§ããã¨ã¯æ³å®ãã¾ãããï¼ãã®ãå¿ é ã®ãåä¸åä»®å®ãã®æ¬ å¦ã¯ãåãåä½ãåç §ãã¦ããååãæ§ã ãªã¿ã¤ãã³ã°ã§æ§ã ãªçµç¹ã«ãã£ã¦ç¥ããªããã¡ã«ä½ãããã»ãã³ãã£ãã¯ã»ã¦ã§ãã®ã¢ããªã±ã¼ã·ã§ã³ã«ç¹ã«é©ãã¦ãã¾ããï¼ ãããã£ã¦ãã¸ã§ã³ã¨ãã«ãåãåä½ã§ããã¨ãã鏿è¢ãæé¤ãããå ´åã¯ã次ã®éãããããæç¤ºçã«æå®ããªããã°ãªãã¾ããã
DifferentIndividuals( :John :Bill )
<rdf:Description rdf:about="John"> <owl:differentFrom rdf:resource="Bill"/> </rdf:Description>
:John owl:differentFrom :Bill .
Individual: John DifferentFrom: Bill
<DifferentIndividuals> <NamedIndividual IRI="John"/> <NamedIndividual IRI="Bill"/> </DifferentIndividuals>
2ã¤ã®ååãåãåä½ãåç §ãã¦ããï¼æå³ãã¦ããï¼ã¨è¿°ã¹ããã¨ãå¯è½ã§ããä¾ãã°ãã¸ã§ã¼ã ãºã¨ã¸ã ãåãåä½ã§ããã¨è¿°ã¹ããã¨ãã§ãã¾ãã
SameIndividual( :James :Jim )
<rdf:Description rdf:about="James"> <owl:sameAs rdf:resource="Jim"/> </rdf:Description>
Individual: James SameAs: Jim
<SameIndividual> <NamedIndividual IRI="James"/> <NamedIndividual IRI="Jim"/> </SameIndividual>
ããã«ãããæ¨è«ã·ã¹ãã ã¯ãã¸ã§ã¼ã ãºã¨ããåä½ã«é¢ãã¦ä»ä¸ãããæ å ±ããã¸ã ã¨ããåä½ã«ãæãç«ã¤ã¨æ¨è«ãããã¨ãå¯è½ã«ãªãã¾ãã
4.8 ãã¼ã¿åããã¾ã§ãã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããããã³ãä»ã®åä½ã¨ã®é¢é£æ§ã«ãã£ã¦ãã©ã®ããã«åä½ãè¨è¿°ã§ããããè¦ã¦ãã¾ãããããããå¤ãã®å ´åãåä½ã¯ãã¼ã¿å¤ã§è¨è¿°ããã¾ãããã人ã®çå¹´ææ¥ãå¹´é½¢ãEã¡ã¼ã«ã¢ãã¬ã¹ãªã©ãèãã¦ã¿ã¦ãã ããããã®ç®çããã«ãOWLã¯å¥ã®ããããã£ã¼ããããããã¼ã¿åããããã£ã¼ãæä¾ãã¾ãããããã®ããããã£ã¼ã¯ãåä½ãï¼ä»ã®åä½ã§ã¯ãªãï¼ãã¼ã¿å¤ã«é¢é£ä»ãã¾ããããã¦ãXMLã¹ãã¼ãã»ãã¼ã¿å[XML Schema Datatypes]ã®å¤ãã使ç¨ã§ãã¾ãã ä¸è¨ã¯ããã¼ã¿åããããã£ã¼ã®ä½¿ç¨ä¾ã§ããã¸ã§ã³ã®å¹´é½¢ã51æ³ã§ããã¨è¿°ã¹ã¦ãã¾ãã
DataPropertyAssertion( :hasAge :John "51"^^xsd:integer )
<Person rdf:about="John"> <hasAge rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">51</hasAge> </Person>
Individual: John Facts: hasAge "51"^^xsd:integer
<DataPropertyAssertion> <DataProperty IRI="hasAge"/> <NamedIndividual IRI="John"/> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">51</Literal> </DataPropertyAssertion>
åæ§ã«ãã¸ã£ãã¯ã®å¹´é½¢ã¯ã53æ³ã§ã¯ãªãã¨è¿°ã¹ããã¨ãã§ãã¾ãã
NegativeDataPropertyAssertion( :hasAge :Jack "53"^^xsd:integer )
<owl:NegativePropertyAssertion> <owl:sourceIndividual rdf:resource="Jack"/> <owl:assertionProperty rdf:resource="hasAge"/> <owl:targetValue rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"> 53 </owl:targetValue> </owl:NegativePropertyAssertion>
[] rdf:type owl:NegativePropertyAssertion ; owl:sourceIndividual :Jack ; owl:assertionProperty :hasAge ; owl:targetValue 53 .
Individual: Jack Facts: not hasAge "53"^^xsd:integer
<NegativeDataPropertyAssertion> <DataProperty IRI="hasAge"/> <NamedIndividual IRI="Jack"/> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">53</Literal> </NegativeDataPropertyAssertion>
å®ç¾©åã¨å¤åã¯ããªãã¸ã§ã¯ãã»ããããã£ã¼ã¨åãããã«ããã¼ã¿åããããã£ã¼ã«å¯¾ãã¦ãè¨è¿°ã§ãã¾ãããããããã®å ´åãå¤åã¯ã¯ã©ã¹ã§ã¯ãªããã¼ã¿åã§ããããä¸è¨ã¯ãhasAgeã¨ããããããã£ã¼ã¯ã人ãè² ã§ãªãæ´æ°ã«é¢é£ä»ããããã ãã«ç¨ããããã¨è¿°ã¹ã¦ãã¾ãã
DataPropertyDomain( :hasAge :Person ) DataPropertyRange( :hasAge xsd:nonNegativeInteger )
<owl:DatatypeProperty rdf:about="hasAge"> <rdfs:domain rdf:resource="Person"/> <rdfs:range rdfs:Datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> </owl:DatatypeProperty>
:hasAge rdfs:domain :Person ; rdfs:range xsd:nonNegativeInteger .
DataProperty: hasAge Domain: Person Range: xsd:nonNegativeInteger
<DataPropertyDomain> <DataProperty IRI="hasAge"/> <Class IRI="Person"/> </DataPropertyDomain> <DataPropertyRange> <DataProperty IRI="hasAge"/> <Datatype IRI="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> </DataPropertyRange>
ãã®æ®µéã§ãããããã£ã¼ã®å®ç¾©åã¨å¤åãç¨ããã¨ãã«çºçããããããããã¡ãªãã¹ãææãããã¨æãã¾ããã¤ãå ã»ã©ç¤ºããä¾ã§ã¯ãhasAgeã¨ããããããã£ã¼ãã人ãè² ã§ãªãæ´æ°ã«é¢é£ä»ããããã ãã«ç¨ããããã¨è¿°ã¹ã¾ãããããã§ãªãã¯ã¹ãç«ï¼Catï¼ã¨ããã¯ã©ã¹ã«å±ãã¦ããã¨ããæ å ±ã¨ããã§ãªãã¯ã¹ã®å¹´é½¢ã9æ³ã§ããï¼Felix hasAge 9ï¼ã¨ããæ å ±ãæå®ããã¨æ³å®ãã¦ãã ããããããã®æ å ±ãçµåããå ´åããã§ãªãã¯ã¹ã人ã¨ããã¯ã©ã¹ã«ãå±ãã¦ããã¨æ¨è«ãããå¯è½æ§ãããã¾ãããããã¯ããã¶ãæå³ããªããã®ã§ããããã¯ãã¢ãã«åã«ãããã¡ãªã¨ã©ã¼ã§ããå®ç¾©åï¼ã¾ãã¯ãå¤åï¼ã®ã¹ãã¼ãã¡ã³ãã¯ãç¥èã«å¯¾ããå¶ç´ã§ã¯ããã¾ããããæ¨è«ã·ã¹ãã ãæ´ãªãç¥èãæ¨è«ã§ãããã¨ã«æ³¨æãã¦ãã ãããä¾ã«ããã¨ãããå¹´é½¢ã人ã«ã®ã¿ä»ä¸ãããã¨è¿°ã¹ãå ´åãå¹´é½¢ãä»ä¸ãããã®ã¯ãã¹ã¦èªåçã«äººã«ãªãã¾ãã
5 é«åº¦ãªã¯ã©ã¹é¢ä¿åé ã§ã¯ãã¯ã©ã¹ããååãæã£ããææ§ãªããã®ã¨ãã¦æ±ãã¾ãããåä½ã«ç¹æ§ãä»ä¸ããããã«ã¯ã©ã¹ã使ç¨ãããµãã¯ã©ã¹ãç´ ã®ã¹ãã¼ãã¡ã³ãã§ã¯ã©ã¹ãä»ã®ã¯ã©ã¹ã«é¢é£ä»ãã¾ããã
ããã§ã¯ãååä»ãã¯ã©ã¹ãããããã£ã¼ãåä½ããæ°ããã¯ã©ã¹ãå®ç¾©ããããã®æ§æè¦ç´ ã¨ãã¦ã©ã®ããã«ä½¿ç¨ã§ãããã«ã¤ãã¦èª¬æãã¾ãã
5.1 è¤åã¯ã©ã¹ä»ã¾ã§ã«èª¬æããè¨èªè¦ç´ ã«ãã£ã¦ãç°¡åãªãªã³ããã¸ã¼ãã¢ãã«åã§ãã¾ããããè¤éãªç¥èã表ãããã«ãOWLã¯è«ççãªã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãæä¾ãã¾ããç¹ã«ãOWLã¯ãè¨èªè¦ç´ ã«è«çç©ï¼ANDï¼ãè«çåï¼ORï¼ãè«çå¦å®ï¼NOTï¼ãæä¾ãã¾ãã対å¿ããOWLã®ç¨èªï¼ï¼ã¯ã©ã¹ï¼ç©éåãåéåãè£éåï¼ã¯ãéåè«ããåãããã®ã§ãããããã®ã³ã³ã¹ãã©ã¯ã¿ã¯ãååã¯ã©ã¹ï¼ããªãã¡ãååä»ãã¯ã©ã¹ï¼ãè¤åã¯ã©ã¹ã«çµåãã¾ãã
2ã¤ã®ã¯ã©ã¹ã®ç©éåã¯ã両æ¹ã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ããåä½ã§å³å¯ã«æ§æããã¾ããæ¬¡ã®ä¾ã§ã¯ãæ¯ã¨ããã¯ã©ã¹ãã女æ§ã¨è¦ªï¼Parentï¼ã®ä¸¡æ¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãããªãã¸ã§ã¯ãã§å³å¯ã«æ§æããã¦ããã¨è¿°ã¹ã¦ãã¾ãã
EquivalentClasses( :Mother ObjectIntersectionOf( :Woman :Parent ) )
<owl:Class rdf:about="Mother"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Woman"/> <owl:Class rdf:about="Parent"/> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class>
:Mother owl:equivalentClass [ rdf:type owl:Class ; owl:intersectionOf ( :Woman :Parent ) ] .
Class: Mother EquivalentTo: Woman and Parent
<EquivalentClasses> <Class IRI="Mother"/> <ObjectIntersectionOf> <Class IRI="Woman"/> <Class IRI="Parent"/> </ObjectIntersectionOf> </EquivalentClasses>
ããããå¾ãããæ¨è«ã®ä¾ã¯ãæ¯ã¨ããã¯ã©ã¹ã®ãã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ã¯ã親ã¨ããã¯ã©ã¹ã«ãå±ãã¦ããã¨ãããã¨ãæå³ãã¾ãã
2ã¤ã®ã¯ã©ã¹ã®åéåã«ã¯ãå°ãªãã¨ããããã®ã¯ã©ã¹ã®ãã¡ã®1ã¤ã«å«ã¾ãã¦ãããã¹ã¦ã®åä½ãå«ã¾ãã¾ãããããã£ã¦ããã¹ã¦ã®ä¸¡è¦ªã®ã¯ã©ã¹ã¯ãæ¯ã¨ç¶ã®ã¯ã©ã¹ã®åéåã§ããã¨è¦ãªããã¨ãã§ãã¾ãã
EquivalentClasses( :Parent ObjectUnionOf( :Mother :Father ) )
<owl:Class rdf:about="Parent"> <owl:equivalentClass> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="Mother"/> <owl:Class rdf:about="Father"/> </owl:unionOf> </owl:Class> </owl:equivalentClass> </owl:Class>
:Parent owl:equivalentClass [ rdf:type owl:Class ; owl:unionOf ( :Mother :Father ) ] .
Class: Parent EquivalentTo: Mother or Father
<EquivalentClasses> <Class IRI="Parent"/> <ObjectUnionOf> <Class IRI="Mother"/> <Class IRI="Father"/> </ObjectUnionOf> </EquivalentClasses>
ã¯ã©ã¹ã®è£éåã¯ãè«çå¦å®ã«ç¸å½ããã¯ã©ã¹èªä½ã®ã¡ã³ãã¼ã§ãªããªãã¸ã§ã¯ãã§å³å¯ã«æ§æããã¾ããä¸è¨ã®ãåä¾ã®ããªã人ã®å®ç¾©ã¯ãã¯ã©ã¹ã®è£éåãç¨ãã¦ãããã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãå ¥ãåã«ã§ãããã¨ã示ãã¦ãã¾ãã
EquivalentClasses( :ChildlessPerson ObjectIntersectionOf( :Person ObjectComplementOf( :Parent ) ) )
<owl:Class rdf:about="ChildlessPerson"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class> <owl:complementOf rdf:resource="Parent"/> </owl:Class> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class>
:ChildlessPerson owl:equivalentClass [ rdf:type owl:Class ; owl:intersectionOf ( :Person [ owl:complementOf :Parent ] ) ] .
Class: ChildlessPerson EquivalentTo: Person and not Parent
<EquivalentClasses> <Class IRI="ChildlessPerson"/> <ObjectIntersectionOf> <Class IRI="Person"/> <ObjectComplementOf> <Class IRI="Parent"/> </ObjectComplementOf> </ObjectIntersectionOf> </EquivalentClasses>
ä¸ã®ãã¹ã¦ã®ä¾ã¯ãæ°ããã¯ã©ã¹ãä»ã®ã¯ã©ã¹ãçµã¿åããããã®ã§ããã¨å®ç¾©ããããã«ãã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã®ä½¿ç¨ä¾ã示ãã¦ãã¾ãããããããã¡ãããã¯ã©ã¹ã«ã¨ã£ã¦å¿ è¦ã ãååã§ã¯ãªãç¶æ³ã示ãããã«ãã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ããµãã¯ã©ã¹ã®ã¹ãã¼ãã¡ã³ãã¨ä¸ç·ã«ç¨ãããã¨ãã§ãã¾ããæ¬¡ã®ã¹ãã¼ãã¡ã³ãã¯ãããããç¥ç¶ï¼Grandfatherï¼ã¯ãç·æ§ã¨è¦ªã®ä¸¡æ¹ã§ããï¼ãã®éã¯ãå¿ ãããçã§ã¯ãªãï¼ãã¨ã示ãã¦ãã¾ãã
SubClassOf( :Grandfather ObjectIntersectionOf( :Man :Parent ) )
<owl:Class rdf:about="Grandfather"> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Man"/> <owl:Class rdf:about="Parent"/> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class>
:Grandfather rdfs:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Man :Parent ) ] .
Class: Grandfather SubClassOf: Man and Parent
<SubClassOf> <Class IRI="Grandfather"/> <ObjectIntersectionOf> <Class IRI="Man"/> <Class IRI="Parent"/> </ObjectIntersectionOf> </SubClassOf>
ä¸è¬çã«ãè¤åã¯ã©ã¹ã¯ãååä»ãã¯ã©ã¹ãåºç¾å¯è½ãªããããå ´æãã¤ã¾ããã¯ã©ã¹è¨æã§ä½¿ç¨ã§ãã¾ããããã¯ãã¸ã£ãã¯ã人ã§ã¯ããã親ã§ã¯ãªãã¨è¨æãã¦ããæ¬¡ã®ä¾ã§ç¤ºãã¦ãã¾ãã
ClassAssertion( ObjectIntersectionOf( :Person ObjectComplementOf( :Parent ) ) :Jack )
<rdf:Description rdf:about="Jack"> <rdf:type> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class> <owl:complementOf rdf:resource="Parent"/> </owl:Class> </owl:intersectionOf> </owl:Class> </rdf:type> </rdf:Description>
:Jack rdf:type [ rdf:type owl:Class ; owl:intersectionOf ( :Person [ rdf:type owl:Class ; owl:complementOf :Parent ] ) ] .
Individual: Jack Types: Person and not Parent
<ClassAssertion> <ObjectIntersectionOf> <Class IRI="Person"/> <ObjectComplementOf> <Class IRI="Parent"/> </ObjectComplementOf> </ObjectIntersectionOf> <NamedIndividual IRI="Jack"/> </ClassAssertion>5.2 ããããã£ã¼å¶é
ããããã£ã¼ã®å¶éã¯ãè¤åã¯ã©ã¹ã«å¥ã®ã¿ã¤ãã®è«çãã¼ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãæä¾ãã¾ããååã示ãããã«ãããããã£ã¼å¶éã¯ãããããã£ã¼ãå«ãã ã³ã³ã¹ãã©ã¯ã¿ãç¨ãã¾ãã
ç¹ç§°éåã¨å¼ã°ããããããã£ã¼å¶éã¯ãã¯ã©ã¹ã¯ãããç¹å®ã®ããããã£ã¼ã«ãã£ã¦ãããã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ããå¥ã®åä½ã«é¢é£ä»ãããããã¹ã¦ã®åä½ã®éåã§ããã¨å®ç¾©ãã¾ããããã¯ã両親ã®ã¯ã©ã¹ã¯ãhasChildã¨ããããããã£ã¼ã«ãã£ã¦äººã«ãªã³ã¯ãããåä½ã®ã¯ã©ã¹ã§ããã¨å®ç¾©ãã¦ããæ¬¡ã®ä¾ã®ããã«ãä¾ãç¨ãã¦èª¬æããã®ãæãè¯ãã§ãããã
EquivalentClasses( :Parent ObjectSomeValuesFrom( :hasChild :Person ) )
<owl:Class rdf:about="Parent"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:someValuesFrom rdf:resource="Person"/> </owl:Restriction> </owl:equivalentClass> </owl:Class>
:Parent owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:someValuesFrom :Person ] .
Class: Parent EquivalentTo: hasChild some Person
<EquivalentClasses> <Class IRI="Parent"/> <ObjectSomeValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="Person"/> </ObjectSomeValuesFrom> </EquivalentClasses>
ããã¯ã親ã®ãã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ã«å¯¾ãã¦å°ãªãã¨ã1人ã®åä¾ãåå¨ãããã®åä¾ã人ã¨ããã¯ã©ã¹ã®ã¡ã³ãã¼ã§ããã¨äºæããããã¨ãæå³ãã¾ããããã¯ãä¸å®å ¨ãªç¥èãææããããã«æç¨ã§ããä¾ãã°ãããã¯è¦ªã§ããã¨ãµãªã¼ãè¿°ã¹ãã¨ãæã ã¯ãå½¼ãã®ååãç¥ããªãã¦ãå½¼ã«ã¯å°ãªãã¨ã1人ã®åä¾ãããã¨æ¨è«ã§ãã¾ããç¹ç§°éåã使ç¨ããéã®èªç¶è¨èªæç¤ºåã¯ããããã¤ããï¼someï¼ãã1ã¤ãï¼oneï¼ã®ãããªåèªã§ãã
å ¨ç§°éåã¨å¼ã°ãããå¥ã®ããããã£ã¼å¶éã¯ãé¢é£ä»ãããã¦ãããã¹ã¦ã®åä½ãç¹å®ã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ãªããã°ãªããªãåä½ã®ã¯ã©ã¹ãè¨è¿°ããããã«ç¨ãã¾ããæ¬¡ã®ã¹ãã¼ãã¡ã³ããç¨ãã¦ãèªåã®ãã¹ã¦ã®åä¾ã幸ããªäººï¼HappyPersonï¼ã§ããã°ããã®äººã¯å¹¸ããªäººã§ããã¨ãããã¨ã示ããã¨ãã§ãã¾ãã
EquivalentClasses( :HappyPerson ObjectAllValuesFrom( :hasChild :HappyPerson ) )
<owl:Class> <owl:Class rdf:about="HappyPerson"/> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:allValuesFrom rdf:resource="HappyPerson"/> </owl:Restriction> </owl:equivalentClass> </owl:Class>
[] rdf:type owl:Class ; :HappyPerson ; owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:allValuesFrom :Happy ] .
Class: HappyPerson EquivalentTo: hasChild only HappyPerson
<EquivalentClasses> <Class IRI="HappyPerson"/> <ObjectAllValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="Happy"/> </ObjectAllValuesFrom> </EquivalentClasses>
ãã®ä¾ã§ã¯ãOWLã¹ãã¼ãã¡ã³ãã¯ãä¸ç¨®ã®èªå·±åç §ãå¯è½ã§ãããã¨ã示ãã¦ãã¾ãã幸ããªäººã¨ããã¯ã©ã¹ããåçã¹ãã¼ãã¡ã³ãã®ä¸¡å´ã§ç¨ãããã¦ãã¾ãã
ããããã£ã¼å¶éã®ä½¿ç¨ã¯ããã¢ãã«åã®åå¿è ãã«ãããç¨®ã®æ¦å¿µä¸ã®æ··ä¹±ãçããããããããã¾ããã大ãã£ã±ã«è¨ãã°ãèªç¶è¨èªã®ã¹ãã¼ãã¡ã³ããè«ççãªå ¬çã«ç¿»è¨³ããå ´åã«ã¯ãç¹ç§°éåã®æ¹ãã¯ããã«é »ç¹ã«çºçãã¾ããå ¨ç§°éåã使ç¨ããéã®èªç¶è¨èªæç¤ºåã¯ããåã«/å¯ä¸ã®ãï¼onlyï¼ããæä»çã«ãï¼exclusivelyï¼ããï½ã«ãããªããï¼nothing butï¼ã®ãããªåèªã§ãã
å ¨ç§°çãªå½¹å²ã®å¶éã«ã¯ãããç¹å®ã®èª¤è§£ãããã¾ããä¸è¨ã®å¹¸ãã®å ¬çãä¾ã¨ãã¦èãã¦ã¿ã¾ããç´æçã«ã¯ã幸ãã§ããããã«ã¯ãå°ãªãã¨ã1人ã®å¹¸ããªåä¾ãæã£ã¦ããªããã°ãªããªãã¨è§£éã§ãã¾ããããããããã§ã¯ããã¾ãããhasChildã¨ããããããã£ã¼ã®ãåºçºç¹ãã§ã¯ãªãåä½ã¯ãhasChildã«å¯¾ããå ¨ç§°éåã«ãã£ã¦å®ç¾©ãããã¯ã©ã¹ã®ã¡ã³ãã¼ã§ãããããã£ã¦ãä¸è¨ã®ã¹ãã¼ãã¡ã³ãã§ã¯ããã¹ã¦ã®åä¾ã®ãªã人ã¯å¹¸ãã§ãããã¾ããåè¿°ã®éãã«æå³ããè§£éãå½¢å¼åããããã«ã¯ãã¹ãã¼ãã¡ã³ããæ¬¡ã®éãã«æ¸ããªããã°ãªããªãã§ãããã
EquivalentClasses( :HappyPerson ObjectIntersectionOf( ObjectAllValuesFrom( :hasChild :HappyPerson ) ObjectSomeValuesFrom( :hasChild :HappyPerson ) ) )
<owl:Class> <owl:Class rdf:about="HappyPerson"/> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:allValuesFrom rdf:resource="HappyPerson"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:someValuesFrom rdf:resource="HappyPerson"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class>
[] rdf:type owl:Class ; :HappyPerson ; owl:equivalentClass [ rdf:type owl:Class ; owl:intersectionOf ( [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:allValuesFrom :Happy ] [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:someValuesFrom :Happy ] ) ] .
Class: HappyPerson EquivalentTo: hasChild only HappyPerson and hasChild some HappyPerson
<EquivalentClasses> <Class IRI="HappyPerson"/> <ObjectIntersectionOf> <ObjectAllValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="HappyPerson"/> </ObjectAllValuesFrom> <ObjectSomeValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="HappyPerson"/> </ObjectSomeValuesFrom> </ObjectIntersectionOf> </EquivalentClasses>
ãã®ä¾ã¯ãããããã£ã¼å¶éããè¤åã¯ã©ã¹ã¨ã©ã®ããã«å ¥ãåã«ã§ãããã示ãã¦ãã¾ãã
1ã¤ã®ç¹å®ã®åä½ã«é¢é£ä»ãããã¦ããåä½ã®ã¯ã©ã¹ãè¨è¿°ããããã«ããããã£ã¼å¶éã使ç¨ã§ãã¾ããä¾ãã°ãã¸ã§ã³ã®åä¾ã®ã¯ã©ã¹ããæ¬¡ã®éãã«å®ç¾©ã§ãã¾ãã
EquivalentClasses( :JohnsChildren ObjectHasValue( :hasParent :John ) )
<owl:Class rdf:about="JohnsChildren"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="hasParent"/> <owl:hasValue rdf:resource="John"/> </owl:Restriction> </owl:equivalentClass> </owl:Class>
:JohnsChildren owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :hasParent ; owl:hasValue :John ] .
Class: JohnsChildren EquivalentTo: hasParent value John
<EquivalentClasses> <Class IRI="JohnsChildren"/> <ObjectHasValue> <ObjectProperty IRI="hasParent"/> <NamedIndividual IRI="John"/> </ObjectHasValue> </EquivalentClasses>
ããããã£ã¼ã§ãªã³ã¯ããã¦ããåä½ã¨ããç¹æ®ãªã±ã¼ã¹ã§ã¯ãåä½ã¯ãèªèº«ã«ãªã³ã¯ããã¦ããããããã¾ãããæ¬¡ã®ä¾ã¯ããã¹ã¦ã®ãã«ã·ã¹ããèªèº«ãæãã¦ããã¨ããèããè¡¨ãæ¹æ³ã示ãã¦ãã¾ãã
EquivalentClasses( :NarcisticPerson ObjectHasSelf( :loves ) )
<owl:Class rdf:about="NarcisticPerson"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="loves"/> <owl:hasSelf rdf:datatype="&xsd;boolean"> true </owl:hasSelf> </owl:Restriction> </owl:equivalentClass> </owl:Class>
:NarcisticPerson owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :loves ; owl:hasSelf "true"^^xsd:boolean . ] .
Class: NarcisticPerson EquivalentTo: loves Self
<EquivalentClasses> <Class IRI="NarcisticPerson"/> <ObjectHasSelf> <ObjectProperty IRI="loves"/> </ObjectHasSelf> </EquivalentClasses>5.3 ããããã£ã¼ã®ã«ã¼ãã£ããªãã£ã¼å¶é
å ¨ç§°éåããã³ç¹ç§°éåãç¨ããã¨ãã ããã®åä¾ã®ãã¡ã®å°ãªãã¨ã1人ãªã©ã®ããã¹ã¦ã«é¢ãã¦ãåã ã«ä½ããè¿°ã¹ããã¨ãã§ãã¾ããããããå¶éã«å«ã¾ããåä½ã®æ°ãæå®ãããå ´åãããã¾ããå®éãåä¾ã®æ°ã«å¿ããã¯ã©ã¹ã使ã§ãã¾ãã æ¬¡ã®ä¾ã¯ãã¸ã§ã³ã«ã¯ãèªèº«ã親ã§ããåä¾ãæå¤§4人ããã¨è¿°ã¹ã¦ãã¾ãã
ClassAssertion( ObjectMaxCardinality( 4 :hasChild :Parent ) :John )
<rdf:Description rdf:about="John"> <rdf:type> <owl:Restriction> <owl:maxQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger"> 4 </owl:maxQualifiedCardinality> <owl:onProperty rdf:resource="hasChild"/> <owl:onClass rdf:resource="Parent"/> </owl:Restriction> </rdf:type> </rdf:Description>
:John rdf:type [ rdf:type owl:Restriction ; owl:maxQualifiedCardinality "4"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ; owl:onClass :Parent ] .
Individual: John Types: hasChild max 4 Parent
<ClassAssertion> <ObjectMaxCardinality cardinality="4"> <ObjectProperty IRI="hasChild"/> <Class IRI="Parent"/> </ObjectMaxCardinality> <NamedIndividual IRI="John"/> </ClassAssertion>
ãã®ã¹ãã¼ãã¡ã³ãã«ãããã¸ã§ã³ãã親ã§ã¯ãªãåä¾ãä»»æã®æ°ã ãæã¤ãã¨ãã§ãããã¨ã«æ³¨æãã¦ãã ããã
åæ§ã«ãã¸ã§ã³ãã親ã§ããåä¾ãå°ãªãã¨ã2人ããåä½ã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã§ããã¨è¿°ã¹ããã¨ã«ãã£ã¦ãæå°ã®æ°ã宣è¨ãããã¨ãå¯è½ã§ãã
ClassAssertion( ObjectMinCardinality( 2 :hasChild :Parent ) :John )
<rdf:Description rdf:about="John"> <rdf:type> <owl:Restriction> <owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger"> 2 </owl:minQualifiedCardinality> <owl:onProperty rdf:resource="hasChild"/> <owl:onClass rdf:resource="Parent"/> </owl:Restriction> </rdf:type> </rdf:Description>
:John rdf:type [ rdf:type owl:Restriction ; owl:minQualifiedCardinality "2"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ; owl:onClass :Parent ] .
Individual: John Types: hasChild min 2 Parent
<ClassAssertion> <ObjectMinCardinality cardinality="2"> <ObjectProperty IRI="hasChild"/> <Class IRI="Parent"/> </ObjectMinCardinality> <NamedIndividual IRI="John"/> </ClassAssertion>
親ã§ããã¸ã§ã³ã®åä¾ã®æ£ç¢ºãªæ°ããã¾ãã¾ç¥ã£ã¦ããã°ã次ã®éãã«æå®ã§ãã¾ãã
ClassAssertion( ObjectExactCardinality( 3 :hasChild :Parent ) :John )
<rdf:Description rdf:about="John"> <rdf:type> <owl:Restriction> <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger"> 3 </owl:qualifiedCardinality> <owl:onProperty rdf:resource="hasChild"/> <owl:onClass rdf:resource="Parent"/> </owl:Restriction> </rdf:type> </rdf:Description>
:John rdf:type [ rdf:type owl:Restriction ; owl:qualifiedCardinality "3"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ; owl:onClass :Parent ] .
Individual: John Types: hasChild exactly 3 Parent
<ClassAssertion> <ObjectExactCardinality cardinality="3"> <ObjectProperty IRI="hasChild"/> <Class IRI="Parent"/> </ObjectExactCardinality> <NamedIndividual IRI="John"/> </ClassAssertion>
ã«ã¼ãã£ããªãã£ã¼å¶éã§ã¯ãã¯ã©ã¹ã®æä¾ã¯ä»»æã§ããã¸ã§ã³ã®ãã¹ã¦ã®åä¾ã®æ°ã«ã¤ãã¦è¿°ã¹ããã ãã§ããã°ã次ã®éãã«è¨è¿°ã§ãã¾ãã
ClassAssertion( ObjectExactCardinality( 5 :hasChild ) :John )
<rdf:Description rdf:about="John"> <rdf:type> <owl:Restriction> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger"> 5 </owl:cardinality> <owl:onProperty rdf:resource="hasChild"/> </owl:Restriction> </rdf:type> </rdf:Description>
:John rdf:type [ rdf:type owl:Restriction ; owl:cardinality "5"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ] .
Individual: John Types: hasChild exactly 5
<ClassAssertion> <ObjectExactCardinality cardinality="5"> <ObjectProperty IRI="hasChild"/> </ObjectExactCardinality> <NamedIndividual IRI="John"/> </ClassAssertion>5.4 åä½ã®åæ
ã¯ã©ã¹ãè¨è¿°ããé常ã«ç°¡åãªæ¹æ³ã¯ããã¹ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ãåæãããã¨ã§ããOWLã§ã¯ããããå¯è½ã§ããä¾ãã°ãèªçæ¥ã®ã²ã¹ãã®ã¯ã©ã¹ã使ã§ãã¾ãã
EquivalentClasses( :MyBirthdayGuests ObjectOneOf( :Bill :John :Mary) )
<owl:Class rdf:about="MyBirthdayGuests"> <owl:equivalentClass> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <rdf:Description rdf:about="Bill"/> <rdf:Description rdf:about="John"/> <rdf:Description rdf:about="Mary"/> </owl:oneOf> </owl:Class> </owl:equivalentClass> </owl:Class>
:MyBirthdayGuests owl:equivalentClass [ rdf:type owl:Class ; owl:oneOf ( :Bill :John :Mary ) ] .
Class: MyBirthdayGuests EquivalentTo: { Bill, John, Mary }
<EquivalentClasses> <Class IRI="MyBirthdayGuests"/> <ObjectOneOf> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="John"/> <NamedIndividual IRI="Mary"/> </ObjectOneOf> </EquivalentClasses>
4.1é ã§èª¬æãã¦ããããã«ããã®å ¬çãããã«ãã¸ã§ã³ãã¡ã¢ãªã¼ã¨ããã¯ã©ã¹ã®ã¡ã³ãã¼ã·ãããåã«è¨æããããå¤ãã®æ å ±ãæä¾ãã¦ãããã¨ã«æ³¨æãã¦ãã ãããããã«å ãã¦ããã«ãã¸ã§ã³ãã¡ã¢ãªã¼ããèªçæ¥ã®ã²ã¹ãï¼MyBirthdayGuestsï¼ã®å¯ä¸ã®ï¼onlyï¼ã¡ã³ãã¼ã§ãããã¨ãè¦å®ãã¦ãã¾ãããããã£ã¦ããã®ããã«å®ç¾©ãããã¯ã©ã¹ã¯ãéããã¯ã©ã¹ãåæãããéåã¨å¼ã°ãããã¨ãããã¾ããããã§ãã¸ã§ããMyBirthdayGuestsã®ã¤ã³ã¹ã¿ã³ã¹ã§ããã¨è¨æããã°ããã®çµæãã¸ã§ãã¯ä¸è¨ã®3人ã®ãã¡ã®ã²ã¨ãã«ç¸å½ããªããã°ãªããªããã¨ã«ãªãã¾ãã
6 ããããã£ã¼ã®é«åº¦ãªä½¿ç¨ããã¾ã§ã¯ãã¯ã©ã¹å¼ã®æ§æè¦ç´ ã¨ãã¦ä½¿ç¨ããã¦ããã ãã®ã¯ã©ã¹ã¨ããããã£ã¼ã«ç¦ç¹ãåããã¦ãã¾ããã以ä¸ã§ã¯ãOWL 2ããããããã£ã¼ãç¨ããã©ã®ãããªã¢ãã«åæ§è½ãä»ã«åãã¦ããããè¦ã¦ããã¾ãã
6.1 ããããã£ã¼ã®ç¹æ§ããããããã£ã¼ã¯ãå¥ã®ããããã£ã¼ãæã£ã¦ãã¦ããã®æ¹åæ§ãå¤ããï¼ããªãã¡ãéã«ããï¼ãã¨ã§å¾ããããã¨ãããã¾ããä¾ãã°ã親ãæã¤ï¼hasParentï¼ã¯ãåã©ããæã¤ï¼hasChildï¼ã®éã®ããããã£ã¼ã¨å®ç¾©ã§ãã¾ãã
InverseObjectProperties( :hasParent :hasChild )
<owl:ObjectProperty rdf:about="hasParent"> <owl:inverseOf rdf:resource="hasChild"/> </owl:ObjectProperty>
:hasParent owl:inverseOf :hasChild .
ObjectProperty: hasParent InverseOf: hasChild
<InverseObjectProperties> <ObjectProperty IRI="hasParent"/> <ObjectProperty IRI="hasChild"/> </InverseObjectProperties>
ä¾ãã°ãããã¯ãä»»æã®åä½Aã¨Bã«é¢ããåä¾ãæã¤ã¨ããããããã£ã¼ã§AãBã«ãªã³ã¯ããã¦ããã°ãBã¨Aã¯ã親ãæã¤ã¨ããããããã£ã¼ã«ãã£ã¦ãªã³ã¯ããã¦ããã¨æ¨è«ãããã¨ãã§ãã¾ãã ãããããã¨ãã°ãã¯ã©ã¹å¼ã«ä½¿ãããã ãã§ããã°ãããããã£ã®éã«å¯¾ãã¦æç¤ºçã«ååãä»ããå¿ è¦ã¯ããã¾ãããå¤å ï¼Orphanï¼ã¨ããã¯ã©ã¹ã®å®ç¾©ã«ã親ãæã¤ï¼hasParentï¼ã¨ããæ°ããããããã£ã¼ãç¨ãã代ããã«ãåä¾ãæã¤ã®éï¼hasChild-inverseï¼ã¨ç´æ¥çã«è¨è¿°ã§ãã¾ãã
EquivalentClasses( :Orphan ObjectAllValuesFrom( ObjectInverseOf( :hasChild ) :Dead ) )
<owl:Class rdf:about="Orphan"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty> <owl:inverseOf rdf:resource="hasChild"/> </owl:ObjectProperty> </owl:onProperty> <owl:Class rdf:resource="Dead"/> </owl:Restriction> </owl:equivalentClass> </owl:Class>
:Orphan owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty [ owl:inverseOf :hasChild ] ; owl:allValuesFrom :Dead ] .
Class: Orphan EquivalentTo: inverse hasChild only Dead
<EquivalentClasses> <Class IRI="Orphan"/> <ObjectAllValuesFrom> <ObjectInverseOf> <ObjectProperty IRI="hasChild"/> </ObjectInverseOf> <Class IRI="Dead"/> </ObjectAllValuesFrom> </EquivalentClasses>
ããããã£ã¼ã¨ãã®éãä¸è´ãããã¨ãè¨ãæããã°ãããããã£ã¼ã®æ¹åæ§ãéè¦ã§ã¯ãªãå ´åãããã¾ããä¾ãã°ãé å¶è ãæã¤ï¼hasSpouseï¼ã¨ããããããã£ã¼ã«ãã£ã¦ãBãAã¨é¢é£ä»ãããã¦ããã°ãAã¯Bã«å¿ ãé¢é£ä»ãããã¦ãã¾ããçç±ã¯æããã§ããããã®ç¹æ§ãæããããããã£ã¼ã対称çã¨å¼ã³ã¾ããæ¬¡ã®éãã«æå®ã§ãã¾ãã
SymmetricObjectProperty( :hasSpouse )
<owl:SymmetricProperty rdf:about="hasSpouse"/>
:hasSpouse rdf:type owl:SymmetricProperty .
ObjectProperty: hasSpouse Characteristics: Symmetric
<SymmetricObjectProperty> <ObjectProperty IRI="hasSpouse"/> </SymmetricObjectProperty>
ãã®ä¸æ¹ã§ãããããã£ã¼ã¯é対称çã§ãããããããã«ãã£ã¦AãBã«é¢é£ä»ãããã¦ããã°ãBã¯Aã«æ±ºãã¦é¢é£ä»ãããã¦ããªããã¨ãæå³ãã¾ããæããã«ï¼ã¿ã¤ã ãã©ãã«ã«ãã£ã¦èµ·ããé説çãªã·ããªãªãé¤ãï¼ãããã¯ãåä¾ãæããªãã¨ããããããã£ã¼ã«å½ã¦ã¯ã¾ãã±ã¼ã¹ã§ãããæ¬¡ã®ããã«è¡¨ç¾ããã¾ãã
AsymmetricObjectProperty( :hasChild )
<owl:AsymmetricProperty rdf:about="hasChild"/>
:hasChild rdf:type owl:AsymmetricProperty .
ObjectProperty: hasChild Characteristics: Asymmetric
<AsymmetricObjectProperty> <ObjectProperty IRI="hasChild"/> </AsymmetricObjectProperty>
é対称çã§ãããã¨ãã対称çã§ã¯ãªãã¨ããæ¦å¿µããã¯ããã«å¼·ããã¨ã«æ³¨æãã¦ãã ãããåæ§ã«ã対称çã§ãããã¨ã¯ãé対称ã§ã¯ãªãã¨ããæ¦å¿µããã¯ããã«å¼·ãã§ãã
以åããµãããããã£ã¼ã¯ãµãã¯ã©ã¹ã¨é¡ä¼¼ãã¦ããã¨èãã¦ãã¾ãããç´ ã®ã¯ã©ã¹ã®æ¦å¿µããããããã£ã¼ã«è»¢ç¨ãããã¨ãæãç«ã¤ãã¨ã夿ãã¾ãããã¤ã¾ãã2ã¤ã®ããããã£ã¼ã¯ããã®ä¸¡æ¹ã®ããããã£ã¼ã«ãã£ã¦ãªã³ã¯ããã¦ãã2ã¤ã®åä½ãåå¨ãã¦ããªãå ´åã«ã¯ãç´ ã§ããæ¬¡ã«ãæ®éæ³ã«å¾ãã°ã親åéã®çµå©ã¯çºçãããªãã¨è¿°ã¹ããã¨ãã§ãã¾ãã
DisjointObjectProperties( :hasParent :hasSpouse )
<rdf:Description rdf:about="hasParent"> <owl:propertyDisjointWith rdf:resource="hasSpouse"/> </rdf:Description>
:hasParent owl:propertyDisjointWith :hasSpouse .
DisjointProperties: hasParent, hasSpouse
<DisjointObjectProperties> <ObjectProperty IRI="hasParent"/> <ObjectProperty IRI="hasSpouse"/> </DisjointObjectProperties>
ããããã£ã¼ã¯ãåå°çã§ããããã¾ãããã®ãããªããããã£ã¼ã¯ããã¹ã¦ãèªèº«ã¨é¢é£ä»ãã¦ãã¾ããæ¬¡ã®ä¾ã§ã¯ã誰ããèªèº«ã親é¡ã¨ãã¦æã£ã¦ãããã¨ã«æ³¨æãã¦ãã ããã
ReflexiveObjectProperty( :hasRelative )
<owl:ReflexiveProperty rdf:about="hasRelative"/>
:hasRelative rdf:type owl:ReflexiveProperty .
ObjectProperty: hasRelative Characteristics: Reflexive
<ReflexiveObjectProperty> <ObjectProperty IRI="hasRelative"/> </ReflexiveObjectProperty>
ããã¯ãåå°çãªããããã£ã¼ã«ãã£ã¦é¢ä¿ã¥ãããã¦ãã2ã¤ã®åä½ãåä¸ã§ãããã¨ãå¿ ãããæå³ããããã§ã¯ãªããã¨ã«æ³¨æãã¦ãã ããã
ããã«ãããããã£ã¼ã¯éåå°çã§ãããããåä½ã¯ããã®å½¹å²ã®ã¾ã¾ã§èªèº«ã«é¢ä¿ã¥ãããã¨ãã§ããªããã¨ãæå³ãã¾ããå ¸åçãªä¾ã¯ã次ã®éããã ããèªåèªèº«ã®è¦ªã«ã¯ãªããªãã¨åã«è¿°ã¹ããã®ã§ãã
IrreflexiveObjectProperty( :parentOf )
<owl:IrreflexiveProperty rdf:about="parentOf"/>
:parentOf rdf:type owl:IrreflexiveProperty .
ObjectProperty: parentOf Characteristics: Irreflexive
<IrreflexiveObjectProperty> <ObjectProperty IRI="parentOf"/> </IrreflexiveObjectProperty>
次ã«ã夫ãæã¤ï¼hasHusbandï¼ã¨ããããããã£ã¼ãèãã¦ã¿ã¾ããã©ããªäººã1人ã®å¤«ããæã¦ãªãï¼ä¾ã®ããã«ããããå½ç¶ã§ããã¨ããï¼ããããã¹ã¦ã®åä½ã¯ã夫ãæã¤ã¨ããããããã£ã¼ã«ãã£ã¦ãæå¤§1ã¤ã ãä»ã®åä½ã«ãªã³ã¯ã§ãã¾ãããã®ç¨®ã®ããããã£ã¼ã¯ã颿°åã¨å¼ã°ããæ¬¡ã®éãã«è¨è¿°ãã¾ãã
FunctionalObjectProperty( :hasHusband )
<owl:FunctionalProperty rdf:about="hasHusband"/>
:hasHusband rdf:type owl:FunctionalProperty .
ObjectProperty: hasHusband Characteristics: Functional
<FunctionalObjectProperty> <ObjectProperty IRI="hasHusband"/> </FunctionalObjectProperty>
ãã®ã¹ãã¼ãã¡ã³ããããã¹ã¦ã®åä½ã夫ãæã¤å¿ è¦ã¯ãªãã1人以ä¸ã®å¤«ãæã¤ãã¨ãã§ããã¨è¿°ã¹ã¦ããã ãã§ãããã¨ã«æ³¨æãã¦ãã ãããããã«ãã¡ã¢ãªã¼ã®å¤«ãã¸ã§ã¼ã ãºã§ããã¨ããã¹ãã¼ãã¡ã³ãã¨ãã¡ã¢ãªã¼ã®å¤«ãã¸ã ã§ããã¨ããã¹ãã¼ãã¡ã³ããå ããã°ãã¸ã ã¨ã¸ã§ã¼ã ãºãåãåä½ãæå³ããªããã°ãªããªãã¨æ¨è«ã§ãã¾ãã
ã¾ããç¹å®ã®ããããã£ã¼ã®éã颿°åã§ãããã¨ã示ããã¨ãå¯è½ã§ãã
InverseFunctionalObjectProperty( :hasHusband )
<owl:InverseFunctionalProperty rdf:about="hasHusband"/>
:hasHusband rdf:type owl:InverseFunctionalProperty .
ObjectProperty: hasHusband Characteristics: InverseFunctional
<InverseFunctionalObjectProperty> <ObjectProperty IRI="hasHusband"/> </InverseFunctionalObjectProperty>
ããã¯ãåä½ãæå¤§1ã¤ã®ä»ã®åä½ã®å¤«ã§ãããããã¨ã示ãã¾ããä¾ã§ã¯ãä¸å¤«å¤å¦»ã®ç¶æ³ä¸ã§ã¯ãåè ã®å ¬çã¯æå¹ã ãã©ããå¾è ã¯æå¹ã§ã¯ãªãã¨ããã颿°ã¨é颿°ã®éãã示ãã¦ãã¾ãã
次ã«ãåä½AãBã®ç´æ¥ã®åå«ã§ããå ´åã«ã¯ãAã¨Bãå¿ ããªã³ã¯ããããã¨ã«ãªããå ç¥ãæã¤ï¼hasAncestorï¼ã¨ããããããã£ã¼ãè¦ã¦ã¿ã¾ããããæããã«ã親ãæã¤ã¨ããããããã£ã¼ã¯ãå ç¥ãæã¤ã¨ããããããã£ã¼ã®ãç¹å¥ãªã±ã¼ã¹ãã§ããããã®ãµãããããã£ã¼ã§ããã¨å®ç¾©ã§ãã¾ããããã«ããèªåçã«ã親ã®è¦ªï¼ã¾ãã親ã®è¦ªã®è¦ªï¼ãå«ããããã¨è¯ãã§ããããããã¯ãç¥å ãæã¤ãæ¨ç§»çãªããããã£ã¼ã¨å®ç¾©ãããã¨ã§å®ç¾ã§ãã¾ããããåä½Bãåå¨ãã¦ããã¨ããæ¨ç§»çãªããããã£ã¼ã«ãã£ã¦ãåä½Aã¨Bããã¤ãBã¨Cããªã³ã¯ããã¦ããå ´åã2ã¤ã®åä½Aã¨Cã¯å¸¸ã«ãªã³ã¯ããã¦ãã¾ãã
TransitiveObjectProperty( :hasAncestor )
<owl:TransitiveProperty rdf:about="hasAncestor"/>
:hasAncestor rdf:type owl:TransitiveProperty .
ObjectProperty: hasAncestor Characteristics: Transitive
<TransitiveObjectProperty> <ObjectProperty IRI="hasAncestor"/> </TransitiveObjectProperty>6.2 ããããã£ã¼é£é
åé ã®æå¾ã®ä¾ã§ã¯ã親ãæã¤ããããã£ã¼ã®é£éãããã°ãç¥å ãæã¤ã¨ããããããã£ã¼ã®åå¨ãå¿ ã嫿ããã¦ãã¾ãããããã®ä»£ããã«ãããå°ãå ·ä½çã«ãä¾ãã°ãç¥ç¶æ¯ãæã¤ï¼hasGrandparentï¼ã¨ããããããã£ã¼ãå®ç¾©ãããã¨èããããããã¾ãããæè¡çã«ã¯ãããã¯ããã£ãã2人ã®è¦ªãæã¤ï¼hasParentï¼ããããã£ã¼ã®é£éã§ãªã³ã¯ããã¦ãããã¹ã¦ã®åä½ããç¥ç¶æ¯ãæã¤ï¼hasGrandparentï¼ã«ãã£ã¦ãé¢é£ä»ãããã¨ãããã¨ãæå³ãã¾ããç¥å ãæã¤ï¼hasAncestorï¼ã¨ãããåã®ä¾ã¨ç°ãªãã®ã¯ã親ãæã¤ï¼hasParentï¼ããç¥ç¶æ¯ãæã¤ï¼hasGrandparentï¼ã®ç¹å¥ãªã±ã¼ã¹ã§ãããã¨ããç¥ç¶æ¯ãæã¤ï¼hasGrandparentï¼ããæ½ç¥ç¶æ¯ãªã©ãæå³ãããã¨ãæãã§ããªãç¹ã§ããæ¬¡ã®ããã«ããã®ãããªé£éã®ç¯å²ã¯ããã¹ã¦ãç¥ç¶æ¯ãæã¤ï¼hasGrandparentï¼ããããã£ã¼ã«ãã£ã¦ã決ã¾ããªããã°ãªããªãã¨è¡¨ç¾ã§ãã¾ãã
SubObjectPropertyOf( ObjectPropertyChain( :hasParent :hasParent ) :hasGrandparent )
<rdf:Description rdf:about="hasGrandparent"> <owl:propertyChainAxiom rdf:parseType="Collection"> <owl:ObjectProperty rdf:about="hasParent"/> <owl:ObjectProperty rdf:about="hasParent"/> </owl:propertyChainAxiom> </rdf:Description>
:hasGrandparent owl:propertyChainAxiom ( :hasParent :hasParent ) .
ObjectProperty: hasGrandparent SubPropertyChain: hasParent o hasParent
<SubObjectPropertyOf> <ObjectPropertyChain> <ObjectProperty IRI="hasParent"/> <ObjectProperty IRI="hasParent"/> </ObjectPropertyChain> <ObjectProperty IRI="hasGrandparent"/> </SubObjectPropertyOf>6.3 ãã¼
OWL2ã§ã¯ãããããã£ã¼ã®éåï¼ãã¼ã¿ããªãã¸ã§ã¯ãï¼ããã¯ã©ã¹å¼ã®ãã¼ã¨ãã¦å²ãå½ã¦ããã¨ãã§ãã¾ããããã¯ãã¤ã³ã¹ã¿ã³ã¹ã¨ã®é¢ä¿ã«ãã£ã¦ããããã®ããããã£ã¼ãå¾ãå¤ã®éåã«ãã£ã¦ãã¯ã©ã¹å¼ã®ååä»ãã¤ã³ã¹ã¿ã³ã¹ã䏿ã«ç¹å®ããããã¨ãæå³ãã¾ãã
ããã«é¢ããåãããããä¾ã¯ã社ä¼ä¿éºçªå·ã«ãã人ã®èå¥ã§ãããã
HasKey( :Person () ( :hasSSN ) )
<owl:Class rdf:about="Person"> <owl:hasKey rdf:parseType="Collection"> <owl:ObjectProperty rdf:about="hasSSN"/> </owl:hasKey> </owl:Class>
:Person owl:hasKey ( :hasSSN ) .
Class: Person HasKey: hasSSN
<HasKey> <Class IRI="Person"/> <ObjectProperty IRI="hasSSN"/> </HasKey>7 ãã¼ã¿åã®é«åº¦ãªä½¿ç¨
4.8é ã§ã¯ããªãã¸ã§ã¯ãã»ããããã£ã¼ãä»ã®å®ç¾©åã®åä½ã¸ãªã³ã¯ããã®ã¨ã¡ããã©åãããã«ãåºæ¬çã«ã¯ãåä½ããã¼ã¿åããããã£ã¼ã§ãã¼ã¿å¤ã«é¢é£ä»ãããã¨ã«ãããåä½ã«æ°åã®æ å ±ãä¸ãããããã¨ãå¦ã³ã¾ãããå®éã«ã¯ããããã®é¡ä¼¼ç¹ã¯ããã¼ã¿åã®ä½¿ç¨ã«é¢ããããé«åº¦ãªæ©è½ã«ã¾ã§åã³ã¾ãã
ã¾ãããã¼ã¿å¤ã¯ãã¼ã¿åã«åé¡ããã¾ããããã¦ã4.8é ã§ã¯ããã¼ã¿åããããã£ã¼ã®å¤åå¶éãã©ã®ããã«ç¨ããã¨ããã®ããããã£ã¼ããªã³ã¯ã§ããå¤ã®ç¨®é¡ã示ããã¨ãã§ããããè¦ã¾ãããããã«ãæ¢åã®ãã¼ã¿åãå¶ç´ãããçµåãããã¨ã§æ°ãããã¼ã¿åã表ç¾ããå®ç¾©ãããã¨ãã§ãã¾ãããã¼ã¿åã¯ããããããã¡ã»ããã§å¶éããXMLã¹ãã¼ãã»ãã¼ã¿å[XML Schema Datatypes]ããåãããã¨ãã§ãã¾ããæ¬¡ã®ä¾ã§ã¯ããã¼ã¿åã®æ´æ°ãï¼ãã¹ã¦ãå å«ããï¼0ãã150ã®éã®å¤ã«å¶ç´ãããã¨ã«ããã人ã®å¹´é½¢ã®æ°ãããã¼ã¿åãå®ç¾©ãã¦ãã¾ãã
DatatypeDefinition( :personAge DatatypeRestriction( xsd:integer xsd:minInclusive "0"^^xsd:integer xsd:maxInclusive "150"^^xsd:integer ) )
<rdf:Description rdf:about="personAge"> <owl:equivalentClass> <rdfs:Datatype> <owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> <owl:withRestrictions rdf:parseType="Collection"> <rdf:Description> <xsd:minInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</xsd:minInclusive> </rdf:Description> <rdf:Description> <xsd:maxInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">150</xsd:maxInclusive> </rdf:Description> </owl:withRestrictions> </rdfs:Datatype> </owl:equivalentClass> </rdf:Description>
:personAge owl:equivalentClass [ rdf:type rdfs:Datatype; owl:onDatatype xsd:integer; owl:withRestrictions ( [ xsd:minInclusive "0"^^xsd:integer ] [ xsd:maxInclusive "150"^^xsd:integer ] ) ] .
Datatype: personAge EquivalentTo: integer[<= 0 , >= 150]
<DatatypeDefinition> <Datatype IRI="personAge"/> <DatatypeRestriction> <Datatype IRI="&xsd;integer"/> <FacetRestriction facet="&xsd;minInclusive"> <Literal datatypeIRI="&xsd;integer">0</Literal> </FacetRestriction> <FacetRestriction facet="&xsd;maxInclusive"> <Literal datatypeIRI="&xsd;integer">150</Literal> </FacetRestriction> </DatatypeRestriction> </DatatypeDefinition>
åæ§ã«ããã¼ã¿åã¯ãã¯ã©ã¹ã¨åãããã«ãè£éåãç©éåãåéåã«ãã£ã¦çµåã§ãã¾ãããã®çµæãæªæå¹´ï¼minorAgeï¼ã¨ãããã¼ã¿åãæ¢ã«å®ç¾©ãã¦ããã¨ä»®å®ããå ´åãæªæå¹´ï¼minorAgeï¼ã®ãããããã¼ã¿å¤ãã人ã®å¹´é½¢ï¼personAgeï¼ããé¤å¤ãããã¨ã«ãã£ã¦ãæå¹´ï¼majorAgeï¼ã¨ãããã¼ã¿åãå®ç¾©ã§ãã¾ãã
DatatypeDefinition( :majorAge DataIntersectionOf( :personAge DataComplementOf( :minorAge ) ) )
<rdf:Description rdf:about="majorAge"> <owl:equivalentClass> <rdfs:Datatype> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="personAge"/> <rdfs:Datatype> <owl:datatypeComplementOf rdf:resource="minorAge"/> </rdfs:Datatype> </owl:intersectionOf> </rdfs:Datatype> </owl:equivalentClass> </rdf:Description>
:majorAge owl:equivalentClass [ rdf:type rdfs:Datatype; owl:intersectionOf ( :personAge [ rdf:type rdfs:Datatype; owl:datatypeComplementOf :minorAge ] ) ] .
Datatype: majorAge EquivalentTo: personAge and not minorAge
<DatatypeDefinition> <Datatype IRI="majorAge"/> <DataIntersectionOf> <Datatype IRI="personAge"/> <DataComplementOf> <Datatype IRI="minorAge"/> </DataComplementOf> </DataIntersectionOf> </DatatypeDefinition>
ããã«ãããã«å«ã¾ãããã¼ã¿å¤ãåæããã ãã§ãæ°ãããã¼ã¿åã使ã§ãã¾ãã
DatatypeDefinition( :toddlerAge DataOneOf( "1"^^xsd:integer "2"^^xsd:integer ) )
<rdf:Description rdf:about="toddlerAge"> <owl:equivalentClass> <rdfs:Datatype> <owl:oneOf> <rdf:Description> <rdf:first rdf:datatype="&xsd;integer">1</rdf:first> <rdf:rest> <rdf:Description> <rdf:first rdf:datatype="&xsd;integer">2</rdf:first> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </rdf:Description> </rdf:rest> </rdf:Description> </owl:oneOf> </rdfs:Datatype> </owl:equivalentClass> </rdf:Description>
:toddlerAge owl:equivalentClass [ rdf:type rdfs:Datatype; owl:oneOf ( "1"^^xsd:integer "2"^^xsd:integer ) ] .
Datatype: toddlerAge EquivalentTo: { 1, 2 }
<DatatypeDefinition> <Datatype IRI="toddlerAge"/> <DataOneOf> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">1</Literal> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">2</Literal> </DataOneOf> </DatatypeDefinition>
6.1é ã§ã¯ããªãã¸ã§ã¯ãã»ããããã£ã¼ã«ç¹æ§ãä»ä¸ããæ¹æ³ãè¦ã¾ãããã¾ãããããã®ä¸é¨ã¯ããã¼ã¿åããããã£ã¼ã«å©ç¨ã§ãã¾ããä¾ãã°ãå¹´é½¢ãæã¤ï¼hasAgeï¼ã¨ãããã¼ã¿åããããã£ã¼ã«é¢æ°åã¨ããç¹æ§ãä»ä¸ãããã¨ã§ããã¹ã¦ã®äººã¯1ã¤ã®å¹´é½¢ããæã¦ãªãã¨è¡¨ç¾ã§ãã¾ãã
FunctionalDataProperty( :hasAge )
<owl:FunctionalProperty rdf:about="hasAge"/>
:hasAge rdf:type owl:FunctionalProperty .
DataProperty: hasHusband Characteristics: Functional
<FunctionalDataProperty> <DataProperty IRI="hasHusband"/> </FunctionalDataProperty>
ãã¼ã¿åããããã£ã¼ãå¶éãããã¨ã«ãããæ°ããã¯ã©ã¹ãå®ç¾©ã§ãã¾ããæ¬¡ã®ä¾ã§ã¯ããã£ã¼ã³ã¨ã¤ã¸ã£ã¼ã¨ããã¯ã©ã¹ããå¹´é½¢ã13ã¨19ã®éã§ãããã¹ã¦ã®åä½ã¨å®ç¾©ãã¦ãã¾ãã
SubClassOf( :Teenager DataSomeValuesFrom( :hasAge DatatypeRestriction( xsd:integer xsd:minExclusive "12"^^xsd:integer xsd:maxInclusive "19"^^xsd:integer ) ) )
<owl:Class rdf:about="Teenager"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="hasAge"/> <owl:someValuesFrom> <rdfs:Datatype> <owl:onDataType rdf:resource="&xsd;integer"/> <owl:withRestrictions rdf:parseType="Collection"> <rdf:Description> <xsd:minExclusive rdf:datatype="&xsd;integer">12</xsd:minExclusive> </rdf:Description> <rdf:Description> <xsd:maxInclusive rdf:datatype="&xsd;integer">19</xsd:maxInclusive> </rdf:Description> </owl:withRestrictions> </rdfs:Datatype> </owl:someValuesFrom> </owl:Restriction> </rdfs:subClassOf> </owl:Class>
:Teenager rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty :hasAge ; owl:someValuesFrom [ rdf:type rdfs:Datatype ; owl:onDatatype xsd:integer ; owl:withRestrictions ( [ xsd:minExclusive "12"^^xsd:integer ] [ xsd:maxInclusive "19"^^xsd:integer ] ) ] ] .
Class: Teenager SubClassOf: hasAge some integer[< 12 , >= 19]
<SubClassOf> <Class IRI="Teenager"/> <DataSomeValuesFrom> <DataProperty IRI="hasAge"/> <DatatypeRestriction> <Datatype IRI="&xsd;integer"/> <FacetRestriction facet="&xsd;minExclusive"> <Literal datatypeIRI="&xsd;integer">12</Literal> </FacetRestriction> <FacetRestriction facet="&xsd;maxInclusive"> <Literal datatypeIRI="&xsd;integer">19</Literal> </FacetRestriction> </DatatypeRestriction> </DataSomeValuesFrom> </SubClassOf>8 ããã¥ã¡ã³ãæ å ±ã¨ã¢ããã¼ã·ã§ã³
以ä¸ã§ã¯ããªã³ããã¸ã¼ã§å®ãããããè«ççãªãç¥èã«å®éã«ã¯é¢ä¿ã®ãªãOWL 2ã®æ©è½ã«ã¤ãã¦èª¬æãã¾ãããããã¯ããªã³ããã¸ã¼èªèº«ãå ¬çãã¾ãã¯ãã²ã¨ã¤ã®ã¨ã³ãã£ãã£ã¼ã«é¢ããè¿½å æ å ±ãæä¾ããããã«ç¨ãããã¾ãã
8.1 å ¬çã¨ã¨ã³ãã£ãã£ã¼ã®ã¢ããã¼ã·ã§ã³å¤ãã®å ´åãOWLãªã³ããã¸ã¼ã®ä¸é¨ã«å®éã«ãã®å®ç¾©åèªä½ãè¨è¿°ããã®ã§ã¯ãªããå®ç¾©åã®è¨è¿°ã«é¢ãã¦è¨è¿°ããæ å ±ãæä¾ãããã¨èãã¾ããOWLã¯ãã®ããã«ã¢ããã¼ã·ã§ã³ãæä¾ãã¾ããOWLã¢ããã¼ã·ã§ã³ã¯ãããããã£ã¼ã¨å¤ã®å¯¾ãããªã³ããã¸ã¼ã®ä¸é¨ãã¾ãã¯ãªã³ããã¸ã¼å ¨ä½èªä½ã«ã·ã³ãã«ã«é¢é£ä»ãã¾ããã¢ããã¼ã·ã§ã³èªä½ãã¢ããã¼ã·ã§ã³ãããã¨ããå¯è½ã§ããã¢ããã¼ã·ã§ã³æ å ±ã¯ããªã³ããã¸ã¼ã®çè«çæå³ã®ä¸é¨ã¨ããããã§ã¯ããã¾ããã
ãã®ãããä¾ãã°ãæå³ãèªç¶è¨èªã§è¨è¿°ãããã¨ã§ããªã³ããã¸ã¼ã®ã¯ã©ã¹ã®1ã¤ã«æ å ±ã追å ã§ãã¾ãã
AnnotationAssertion( rdfs:comment :Person "Represents the set of all people." )
<owl:Class rdf:about="Person"> <rdfs:comment>Represents the set of all people.</rdfs:comment> </owl:Class>
:Person rdfs:comment "Represents the set of all people."^^xsd:string .
Class: Person Annotations: rdfs:comment "Represents the set of all people."
<AnnotationAssertion> <AnnotationProperty IRI="&rdfs;comment"/> <IRI>Person</IRI> <Literal>Represents the set of all people.</Literal> </AnnotationAssertion>
ä¸è¨ã¯ãã¢ããã¼ã·ã§ã³ãããå ¬çã®ä¾ã§ãã
SubClassOf( Annotation( rdfs:comment "States that every man is a person." ) :Man :Person )
<owl:Class rdf:about="Man"> <rdfs:subClassOf rdf:resource="Person"/> </owl:Class> <owl:Axiom> <owl:annotatedSource rdf:resource="Man"/> <owl:annotatedProperty rdf:resource="&rdfs;subClassOf"/> <owl:annotatedTarget rdf:resource="Person"/> <rdfs:comment>States that every man is a person.</rdfs:comment> </owl:Axiom>
:Man rdfs:subClassOf :Person . [] rdf:type owl:Axiom ; owl:annotatedSource :Man ; owl:annotatedProperty rdfs:subClassOf ; owl:annotatedTarget :Person ; rdfs:comment "States that every man is a person."^^xsd:string .
Class: Man SubClassOf: Annotations: rdfs:comment "States that every man is a person." Person
<SubClassOf> <Annotation> <AnnotationProperty IRI="&rdfs;comment"/> <Literal datatypeIRI="xsd:string">"States that every man is a person."</Literal> </Annotation> <Class IRI="Man"/> <Class IRI="Person"/> </SubClassOf>
ãã°ãã°ããã®ãããªã¢ããã¼ã·ã§ã³ã¯ããã«ãã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«è¡¨ç¤ºããããã®èªç¶è¨èªããã¹ãã¸ã®ã¢ã¯ã»ã¹ãæä¾ãããã¼ã«ã§ç¨ãããã¾ãã
8.2 ãªã³ããã¸ã¼ã®ç®¡çOWLã§ã¯ããããã¼ãã«é¢ããä¸è¬çãªæ å ±ã¯ãã»ã¼å¿ ãããªã³ããã¸ã¼ã«éç´ãããå¾ã§æ§ã ãªã¢ããªã±ã¼ã·ã§ã³ã«ç¨ãããã¾ããOWLãªã³ããã¸ã¼ã«ååãä¸ãããã¨ãã§ãããã®ååã¯é常ããªã³ããã¸ã¼ã»ããã¥ã¡ã³ããã¦ã§ãã«ç½®ããã¦ããå ´æã§ãããããã¼ãã«é¢ããç¹å®ã®æ å ±ããç°ãªãã¢ããªã±ã¼ã·ã§ã³ã§ç¨ãããã¦ããã°ããªã³ããã¸ã¼å ã«ç½®ããã¨ãã§ãã¾ãã
Ontology(<http://example.com/owl/families> ... )
<rdf:RDF ...> <owl:Ontology rdf:about="http://example.com/owl/families"/> ... </rdf:RDF>
<http://example.com/owl/families> rdf:type owl:Ontology .
Ontology: <http://example.com/owl/families>
<Ontology ... ontologyIRI="http://example.com/owl/families"> ... </Ontology>
OWLãªã³ããã¸ã¼ã¯ãOWLããã¥ã¡ã³ãå ã«ç½®ããããã®å¾ã§ããã¼ã«ã«ã®ãã¡ã¤ã«ã»ã·ã¹ãã ãWWWã«ç½®ããã¾ããOWLããã¥ã¡ã³ãã¯ãOWLãªã³ããã¸ã¼ãå«ãã§ããã ãã§ã¯ãªããæ¥é è¾ã®å±éã«ãã£ã¦ãOWLãªã³ããã¸ã¼ï¼ä¾ãã°ã人ï¼Personï¼ï¼ã§é常ç¨ããããçç¥åãIRIã«å¤æããããã®æ å ±ãå«ãã§ãã¾ãããã®çµæãIRIã¯ãæ¥é è¾ã®å±éã¨åç §ã¨ãé£çµãããã®ã¨ãªãã¾ãã
ä¾ã§ã¯ãä»ã¾ã§ã«ãxsdã空ç½ã®æ¥é è¾ãªã©ã®ãå¤ãã®æ¥é è¾ãç¨ãã¦ãã¾ãããåè ã®æ¥é è¾ã¯ãXMLã¹ãã¼ãã»ãã¼ã¿åã®ã³ã³ãã¯ãåã«ç¨ãããããããã®IRIã¯ãXMLã¹ãã¼ãå§åã§å®ãããã¦ãã¾ãããããã£ã¦ãhttp://www.w3.org/2001/XMLSchema#ã¨ããxsdã®æ¨æºçãªå±éãç¨ããªããã°ãªãã¾ããããã䏿¹ã®æ¥é è¾ç¨ã«é¸ã¶å±éã¯ããªã³ããã¸ã¼ã®ã¯ã©ã¹ãããããã£ã¼ãåä½ã®ååã«ããã¾ãããªã³ããã¸ã¼èªèº«ã®ååã«ãå½±é¿ããã§ãããããªã³ããã¸ã¼ãã¦ã§ãã«ç½®ãã¨ãã«ã¯ãä»ã®èª°ãã®ååãå¶ç¶ä½¿ç¨ãã¦ãã¾ããªãããã«ãèªåã管çãã¦ããã¦ã§ãã®ä¸é¨ã«åå¨ããå±éãé¸ã¶ã¹ãã§ããï¼ããã§ã¯ãã ããå¶å¾¡ãã¦ããªããæ¶ç©ºã®å ´æã使ç¨ãã¦ãã¾ããï¼2ã¤ã®XMLãã¼ã¹ã®æ§æã«ã¯ãçµã¿è¾¼ã¿åç¨ã®åå空éãå¿ è¦ã§ãåå空éã¨ãã¦XMLã¨ã³ãã£ãã£ã¼ãç¨ãããã¨ãã§ãã¾ããä¸è¬ã«ãä¼¼ããã¼ã¯ã¼ãã使ããã¦ãã¦ããå©ç¨å¯è½ãªçç¥ã¡ã«ããºã ã¨ãã®ç¹å®ã®æ§æã¯ãããããã®OWLã®ã·ãªã¢ã«åã«ãã£ã¦ç°ãªããã¨ã«æ³¨æãã¹ãã§ãã
Prefix(:=<http://example.com/owl/families/>) Prefix(otherOnt:=<http://example.org/otherOntologies/families/>) Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>) Prefix(owl:=<http://www.w3.org/2002/07/owl#>) Ontology(<http://example.com/owl/families> ... )
<!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.org/2002/07/owl#" > <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > <!ENTITY otherOnt "http://example.org/otherOntologies/families/" > ]> <rdf:RDF xml:base="http://example.com/owl/families/" xmlns="http://example.com/owl/families/" xmlns:otherOnt="http://example.org/otherOntologies/families/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xml="http://www.w3.org/2001/XMLSchema#"> <owl:Ontology rdf:about="http://example.com/owl/families"/> ...
@prefix : <http://example.com/owl/families/> . @prefix otherOnt: <http://example.org/otherOntologies/families/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
Prefix: : <http://example.com/owl/families/> Prefix: xsd: <http://www.w3.org/2001/XMLSchema#> Prefix: owl: <http://www.w3.org/2002/07/owl#> Prefix: otherOnt: <http://example.org/otherOntologies/families/>
<!DOCTYPE Ontology [ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > ]> <Ontology xml:base="http://example.com/owl/families/" ontologyIRI="http://example.com/owl/families" xmlns="http://www.w3.org/2002/07/owl#"> <Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/> ... </Ontology>
OWLã§ã¯ããããªã³ããã¸ã¼ã«æ ¼ç´ããã¦ããä¸è¬çãªæ å ±ãä»ã®ãªã³ããã¸ã¼ã§åå©ç¨ãããã¨ãä¸è¬çã§ããOWLã§ã¯ããã®æ å ±ãã³ãã¼ããå¿ è¦ã¯ãªããæ¬¡ã®éããã¤ã³ãã¼ãã»ã¹ãã¼ãã¡ã³ããç¨ããã¨ãä»ã®ãªã³ããã¸ã¼å ã®ãªã³ããã¸ã¼å ¨ä½ã®ã³ã³ãã³ããã¤ã³ãã¼ãã§ãã¾ãã
Import( <http://example.org/otherOntologies/families.owl> )
<owl:Ontology rdf:about="http://example.com/owl/families"> <owl:imports rdf:resource="http://example.org/otherOntologies/families.owl" /> </owl:Ontology>
<http://example.com/owl/families> owl:imports <http://example.org/otherOntologies/families.owl> .
Import: <http://example.org/otherOntologies/families.owl>
<Prefix name="otherOnt" IRI="http://example.org/otherOntologies/families/"/> <Import>http://example.org/otherOntologies/families.owl</Import>
ã»ãã³ãã£ãã¯ã»ã¦ã§ãã¨ãªã³ããã¸ã¼ã®æ§ç¯ã¯åæ£çã«æä¾ãããããããªã³ããã¸ã¼ã¯ãä¸è¬çã«ãåãæ¦å¿µãããããã£ã¼ãåä½ã«ãç°ãªãååãç¨ãã¾ããããã¾ã§è¦ã¦ããããã«ãOWLã®ããã¤ãã®æ§æåã¯ãç°ãªãååãåãã¯ã©ã¹ãããããã£ã¼ãåä½ãåç
§ãã¦ããã¨è¿°ã¹ãããã«ä½¿ç¨ã§ãããããä¾ãã°ãï¼ã¨ã³ãã£ãã£ã¼ãæ¹åããã®ã§ã¯ãªãï¼æ¬¡ã®ããã«ãèªåã®ãªã³ããã¸ã¼ã«ä½¿ç¨ãã¦ããååããã¤ã³ãã¼ããããªã³ããã¸ã¼ã«ç¨ãããã¦ããååã¨é¢é£ä»ãããã¨ãã§ãã¾ãã
SameIndividual( :John otherOnt:JohnBrown ) SameIndividual( :Mary otherOnt:MaryBrown ) EquivalentClasses( :Adult otherOnt:Grownup ) EquivalentObjectProperties( :hasChild otherOnt:child ) EquivalentDataProperties( :hasAge otherOnt:age )
<rdf:Description rdf:about="John"> <owl:sameAs rdf:resource="&otherOnt;JohnBrown"/> </rdf:Description> <rdf:Description rdf:about="Mary"> <owl:sameAs rdf:resource="&otherOnt;MaryBrown"/> </rdf:Description> <owl:Class rdf:about="Adult"> <owl:equivalentClass rdf:resource="&otherOnt;Grownup"/> </owl:Class> <owl:DatatypeProperty rdf:about="hasAge"> <owl:equivalentProperty rdf:resource="&otherOnt;age"/> </owl:DatatypeProperty> <owl:Class rdf:about="Adult"> <owl:equivalentClass rdf:resource="&otherOnt;Grownup"/> </owl:Class>
:Mary owl:sameAs otherOnt:MaryBrown . :John owl:sameAs otherOnt:JohnBrown . :Adult owl:equivalentClass otherOnt:Grownup . :hasChild owl:equivalentProperty otherOnt:child . :hasAge owl:equivalentProperty otherOnt:age .
SameIndividual: John, otherOnt:JohnBrown SameIndividual: Mary, otherOnt:MaryBrown EquivalentClasses: Adult, otherOnt:Grownup EquivalentProperties: hasChild, otherOnt:child EquivalentProperties: hasAge, otherOnt:age
<SameIndividual> <NamedIndividual IRI="John"/> <NamedIndividual abbreviatedIRI="otherOnt:JohnBrown"/> </SameIndividual> <SameIndividual> <NamedIndividual IRI="Mary"/> <NamedIndividual abbreviatedIRI="otherOnt:MaryBrown"/> </SameIndividual> <EquivalentClasses> <Class IRI="Adult"/> <Class abbreviatedIRI="otherOnt:Grownup"/> </EquivalentClasses> <EquivalentObjectProperties> <ObjectProperty IRI="hasChild"/> <ObjectProperty abbreviatedIRI="otherOnt:child"/> </EquivalentObjectProperties> <EquivalentDataProperties> <DataProperty IRI="hasAge"/> <DataProperty abbreviatedIRI="otherOnt:age"/> </EquivalentDataProperties>8.3 ã¨ã³ãã£ãã£ã¼å®£è¨
ãªã³ããã¸ã¼ã®ç®¡çã«å½¹ç«ã¤ããã«ãOWLã«ã¯ã宣è¨ã¨ããèããããã¾ããåºæ¬çãªèãæ¹ã¯ãã¯ã©ã¹ãããããã£ã¼ãåä½ã¯ãªã³ããã¸ã¼ã§å®£è¨ãã¹ãã§ããããã®å¾ã§ãããããã®ãªã³ããã¸ã¼ããã®ãªã³ããã¸ã¼ãã¤ã³ãã¼ããããªã³ããã¸ã¼ã§ä½¿ç¨ã§ããã¨ãããã®ã§ãã
ãã³ãã§ã¹ã¿ã¼æ§æã§ã¯ã宣è¨ã¯æç¤ºçã§ããã¯ã©ã¹ãããããã£ã¼ãåä½ã«é¢ããæ å ±ãæä¾ããæ§æåã¯ãå¿ è¦ã«å¿ãã¦ããã®ã¯ã©ã¹ãããããã£ã¼ãåä½ãæç¤ºçã«å®£è¨ãã¾ãããã以å¤ã®æ§æã«ã¯ãæç¤ºçãªå®£è¨ãããã¾ãã
Declaration( NamedIndividual( :John ) ) Declaration( Class( :Person ) ) Declaration( ObjectProperty( :hasWife ) ) Declaration( DataProperty( :hasAge ) )
<owl:NamedIndividual rdf:about="John"/> <owl:Class rdf:about="Person"/> <owl:ObjectProperty rdf:about="hasWife"/> <owl:DatatypeProperty rdf:about="hasAge"/>
:John rdf:type owl:NamedIndividual . :Person rdf:type owl:Class . :hasWife rdf:type owl:ObjectProperty . :hasAge rdf:type owl:DatatypeProperty .
Individual: John Class: Person ObjectProperty: hasWife DataProperty: hasAge
<Declaration> <NamedIndividual IRI="John"/> </Declaration> <Declaration> <Class IRI="Person"/> </Declaration> <Declaration> <ObjectProperty IRI="hasWife"/> </Declaration> <Declaration> <DataProperty IRI="hasAge"/> </Declaration>
ããããIRIã¯ãç°ãªãã¨ã³ãã£ãã£ã¼ã®åï¼ä¾ãã°ãåä½ã¨ã¯ã©ã¹ã®ä¸¡æ¹ï¼ãåæã«æããã¨ãã§ãã¾ããä¸å®éã®ã¡ã¿ã¢ããªã³ã°ãå¯è½ã¨ãªãããã«ãããã³ã°ãï¼punningï¼ã¨å¼ã°ãããã®æ§è½ãå°å ¥ãã¾ãããããã«é¢ããä¾ã¯ã9é ã§ç¤ºãã¾ããããã«ãOWL 2ã§ã¯ãååãå©ç¨ãããåå©ç¨ãããããéã«ã¯ãããåçååãå¿ è¦ã§ããããå¯èªæ§ã®é«ãæ§æãå®ç¾ãããããã¾ãããã®ä»ã®æè¡çãªçç±ã«ãããOWL 2 DLã¯ã1ã¤ä»¥ä¸ã®ããããã£ã¼ã»ã¿ã¤ãï¼ãªãã¸ã§ã¯ãããã¼ã¿åã¾ãã¯ã¢ããã¼ã·ã§ã³ã»ããããã£ã¼ï¼ã§ååã使ããã¦ããããIRIãã¯ã©ã¹ã¨ãã¼ã¿åã®ä¸¡æ¹ãæããã¨ãã§ããªãå¿ è¦ãããã¾ãããã®ãããOWLã§ã¯ããçµã¿è¾¼ã¿ãåï¼RDFãRDFSãããã³ãæ§ã ãªæ§æã®OWLã§ä½¿ç¨ããããã®ãªã©ï¼ãèªç±ã«ç¨ãããã¨ã¯ã§ãã¾ããã
9 OWL 2 DLã¨OWL 2 FullOWL 2ã®ãªã³ããã¸ã¼ã«æå³ãå²ãå½ã¦ãæ¹æ³ã«ã¯ããã¤ã¬ã¯ãã»ã¢ãã«çè«ã»ãã³ãã£ã¯ã¹[OWL 2 Direct Semantics]ã¨RDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹[OWL 2 RDF-Based Semantics]ã¨å¼ã°ãã2ã¤ã®é¸æè¢ãããã¾ããéå ¬å¼ã«ã¯ããOWL 2 DLãã¨ããæ¦å¿µã¯ããã¤ã¬ã¯ãã»ã»ãã³ãã£ã¯ã¹ãç¨ãã¦è§£éãããOWL 2ãªã³ããã¸ã¼ãæãããã«ç¨ããããRDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹ãèæ ®ããéã«ã¯ãOWL 2 Fullãã¨ããæ¦å¿µã使ç¨ããã¾ããOWL 2颿°åæ§æããã¥ã¡ã³ã[OWL 2 Specification]ã§ã¯ãããã«ãOWL 2 DLã¨ãã¦èªããããããã«OWL 2ãªã³ããã¸ã¼ãæºãããªããã°ãªããªãæ¡ä»¶ãããã¤ããªã¹ãã¢ãããã¦ãã¾ãã
ãã¤ã¬ã¯ãã»ã¢ãã«çè«ã»ãã³ãã£ã¯ã¹[OWL 2 Direct Semantics]ã¯ãè¨è¿°è«ç[Description Logics]å½¢å¼ã®OWL 2ã«æå³ãæä¾ãã¾ããRDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹[OWL 2 RDF-Based Semantics]ã¯ãRDFS[RDF Semantics]ã®ããã®ã»ãã³ãã£ã¯ã¹ã®æ¡å¼µã§ãããOWL 2ãªã³ããã¸ã¼ã®RDFã°ã©ãã¨ãã¦ã®è¡¨ç¤ºã«åºã¥ãã¦ãã¾ãã
ãªã³ããã¸ã¼ãèããã¨ãã«ããããã®2ã¤ã®ã»ãã³ãã£ã¯ã¹ã®éãã¯ãä¸è¬çã«ã¯ãããªãå°ããã§ããå®éã«ãOWL 2 DLãªã³ããã¸ã¼ã®å ´åããã¤ã¬ã¯ãã»ã»ãã³ãã£ã¯ã¹ãç¨ãã¦åºãããæ¨è«ã¯ãRDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹ä¸ã§ãæå¹æ§ãä¿ã£ã¦ãã¾ããRDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹ã®ããã¥ã¡ã³ã[OWL 2 RDF-Based Semantics]ã®7.2é ã®å¯¾å¿å®çãåç §ãã¦ãã ããã2ã¤ã®ä¸»ãªéãã¯ããã¤ã¬ã¯ãã»ã¢ãã«çè«ã»ãã³ãã£ã¯ã¹ä¸ã§ã¯ã¢ããã¼ã·ã§ã³ã¯å½¢å¼çãªæå³ãæã£ã¦ããããRDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹ä¸ã§ã¯RDFã®å®å®è¦³ããçããããã¤ãã®è¿½å ã®æ¨è«ãããã¾ãã
æ¦å¿µçã«ãOWL 2 DLã¨OWL 2 Fullã®éãããæ¬¡ã®2éãã«èãããã¨ãã§ãã¾ãã
ãã¡ããã2ã¤ã®ã»ãã³ãã£ã¯ã¹ã¯ä¸ç·ã«è¨è¨ããããããäºãã«å½±é¿ãåã¼ãã¾ãããä¾ãã°ãOWL 2ã®1ã¤ã®è¨è¨ç®æ¨ã¯ãOWL 2 DLãOWL 2 Fullã«æ§æä¸è¿ã¥ããï¼ã¤ã¾ããããå¤ãã®RDFã°ã©ã/OWL 2 Fullãªã³ããã¸ã¼ããæ£å½ãªOWL 2 DLãªã³ããã¸ã¼ã«ãªãããã«ããï¼ãã¨ã§ãããããã¯ãOWL 2ã¸ã®ããããããã³ã°ã®çµã¿è¾¼ã¿ï¼ä¾ãã°ãã¯ã©ã¹ã¨åä½ã®ä¸¡æ¹ã®ååã¨åãIRIã¨ãã¦ç¨ããï¼ã«ã¤ãªããã¾ããããã®ãããªç¨æ³ã®ä¾ã¯ä¸è¨ã«ãããã¸ã§ã³ãç¶è¦ªï¼Fatherï¼ã§ãããç¶è¦ªã¯ç¤¾ä¼çå½¹å²ï¼SocialRoleï¼ããã¨è¿°ã¹ã¦ãã¾ãã
ClassAssertion( :Father :John ) ClassAssertion( :SocialRole :Father )
<Father rdf:about="John"/> <SocialRole rdf:about="Father"/>
:John rdf:type :Father . :Father rdf:type :SocialRole .
Individual: John Types: Father Individual: Father Types: SocialRole
<ClassAssertion> <Class IRI="Father"/> <NamedIndividual IRI="John"/> </ClassAssertion> <ClassAssertion> <Class IRI="SocialRole"/> <NamedIndividual IRI="Father"/> </ClassAssertion>
æåã®ã¹ãã¼ãã¡ã³ãã§ã¯ç¶è¦ªãã¯ã©ã¹ã¨ãã¦ç¨ãããã¦ããã2çªç®ã¹ãã¼ãã¡ã³ãã§ã¯åä½ã¨ãã¦ç¨ãããã¦ãããã¨ã«æ³¨æãã¦ãã ããããã®æå³ã§ã社ä¼çãªå½¹å²ã¯ãç¶è¦ªã¨ããã¯ã©ã¹ã®ã¡ã¿ã¯ã©ã¹ã¨ãã¦æ©è½ãã¾ãã
OWL 1ã§ã¯ããããã®2ã¤ã®ã¹ãã¼ãã¡ã³ããå«ãããã¥ã¡ã³ãã¯ãOWL 1 DLããã¥ã¡ã³ãã§ã¯ãªããOWL 1 Fullããã¥ã¡ã³ãã§ããããããããOWL 2 DLã§ã¯ããããå¯è½ã§ãããã£ã¨ããOWL 2 DLã®ãã¤ã¬ã¯ãã»ã¢ãã«çè«ã»ãã³ãã£ã¯ã¹ããã¯ã©ã¹ã®ç¶è¦ªã¨åä½ã®ç¶è¦ªãåãIRIã«å¯¾ãã2ã¤ã®ç°ãªãè¦æ¹ã¨çè§£ããï¼ã¤ã¾ããã¾ãã§ããããç°ãªã£ã¦ãããã®ããã«æå³çã«è§£éããï¼ãã¨ã«ãã£ã¦ãããã«å¯¾å¿ãããã¨ã«æ³¨æããªããã°ãªãã¾ããã
10 OWL 2ãããã£ã«OWL 2ã¯ãOWL 2 DLã¨OWL 2 Fullã«å ãã3ã¤ã®ãããã¡ã¤ã«ãå®ãã¦ãã¾ããä¸è¬çã«ãOWL 2ã¯ãé常ã«è¡¨ç¾åã®ããè¨èªï¼ã³ã³ãã¥ã¼ã¿ä¸ãããã¦ãã¦ã¼ã¶ã«ã¨ã£ã¦ï¼ã§ãããããå®è£ ãã飿ºããã®ãé£ããå ´åãããã¾ãããããã®è¿½å ãããã£ã¼ã«ã¯ããã¾ãã¾ãªã¢ããªã±ã¼ã·ã§ã³ã«ã¨ã£ã¦åãããããOWL 2ã®ãµãã»ããã¨ãªãããã«è¨è¨ããã¦ãã¾ããOWL 2 DLã®ããã«ãã³ã³ãã¥ã¼ã¿ã«é¢ãã課é¡ãããããã®ãããã¡ã¤ã«ã®ä¸»è¦ãªè¦ä»¶ï¼ããã¦ããããã¯ãã¹ã¦ãæ¢åæè¡ãèããã¨ãå¼·åãªã¹ã±ã¼ã©ããªãã£ã«ãããã¯ããã«å®è£ ããããï¼ã§ãããåªããã³ã³ãã¥ã¼ã¿ç¹æ§ãæããOWL 2ã®ãµãã»ãããå¤ãåå¨ãã¦ãã¾ãã鏿ããOWL 2ãããã¡ã¤ã«ã«ã¯ãæ¢ã«ããªãã®ã¦ã¼ã¶ã»ã³ãã¥ããã£ããããã¨ã確èªããã¦ãããé¢ä¸ãã¦ããªããã®ãä»ã«ããã¤ããããã®ã®ããã£ã¨åºç¾ãããã¨ãäºæ³ããã¾ãã[OWL 2 Profiles]ããã¥ã¡ã³ãã¯ã追å ãããã¡ã¤ã«ãæå®ããããã®åããããããã³ãã¬ã¼ããæä¾ãã¦ãã¾ãã
ã¹ã±ã¼ã©ãã«ãªæ¨è«ã確ä¿ãããããæ¢åã®ãããã¡ã¤ã«ã¯ã表ç¾ã®è±ããã«é¢ããããã¤ãã®å¶éãå ±æãã¦ãã¾ãããããã®æ§æåãæ¨è«ãè¤éåããã¢ãã«åã«ã¯æ¥µãã¦ã¾ãã«ããå¿ è¦ã§ã¯ãªããã¨ãåãã£ã¦ããããããããã§ã¯ä¸è¬çã«ãè«çå¦å®ã¨è«çåãèªãããã¦ãã¾ãããä¾ãã°ãã©ã®ãããã¡ã¤ã«ã«ããã¦ãããã¹ã¦ã®äººãç·æ§ã§ãããã¾ãã¯ã女æ§ã§ããã¨æå®ãããã¨ã¯ã§ãã¾ããããã詳細ãªãããã¡ã¤ã«ã®ã¢ãã«åå¶éã«ã¤ãã¦ã¯ãåã ã®ãããã¡ã¤ã«ã«é¢ããé ã§æ±ã£ã¦ãã¾ãã
æã ã¯ãåãããã¡ã¤ã«ã¨ãã®è¨è¨åçã«ã¤ãã¦è°è«ããã©ã®ãããã¡ã¤ã«ãæ±ããã鏿ããéã®æ¡å ãã¦ã¼ã¶ã«æä¾ãã¾ãããã®è°è«ãå æ¬çãªãã®ã§ã¯ãªããå æ¬çã§ããã¯ãããªããã¨ã«çæãã¦ãã ãããæ±ºå®ã®è¦ç´ ã¯ãå©ç¨å¯è½ãªãã¼ã«ã¨ããããã©ã®ããã«ã·ã¹ãã ã使¥ããã¼ã®æ®ãã®é¨åã¨é©åãããã«åºã¥ããªããã°ãªãã¾ããã
æ¦ãã¦ãæ§ã ãªãããã¡ã¤ã«éã«å å«é¢ä¿ãåå¨ãããã¨ã§ãæ§æä¸ç°ãªããããã¡ã¤ã«ãåºå¥ã§ãã¾ããä¾ãã°ãOWL 2 DLã¯OWL 2 Fullã®æ§æã®æçã§ãããOWL 2 QLã¯OWL 2 DLï¼ãããã£ã¦ãOWL 2 Fullï¼ã®æ§æã®æçã§ããã¨è¦ããã¨ãã§ãã¾ãã以ä¸ã®ãããã¡ã¤ã«ã¯ãã©ããå¥ã®ãããã¡ã¤ã«ã®ãµãã»ããã§ã¯ããã¾ãããçæ³çã«ã¯ãåãçµæãå°ãåºããµããããã¡ã¤ã«ä¸ã®ã¹ã¼ãã¼ãããã¡ã¤ã«ã«é©åããæ¨è«ã·ã¹ãã ï¼ã¾ãã¯ããã®ä»ã®ãã¼ã«ï¼ã使ç¨ã§ãã¾ããOWL 2 DLã¨é¢é£ã®ããOWL 2 ELã¨OWL 2 QLã®ãããã¡ã¤ã«ã®å ´åããã¹ã¦ã®é©åOWL 2 DLæ¨è«ã·ã¹ãã ã¯ãOWL 2 ELã¨OWL 2 QLã®æ¨è«ã·ã¹ãã ã§ããï¼ããããOWL 2 DLæ¨è«ã·ã¹ãã ã¯ãããä¸è¬çãªã±ã¼ã¹ã«åããã¦èª¿æ´ããã¦ãããããæ§è½ãç°ãªããããããªãï¼ã¨ããååãæãç«ã¡ã¾ãã
10.1 OWL 2 ELOWL 2 ELã®æ±ãã¯ãOWL 2 DLã®æ±ãã¨ããªãåãã§ããã¯ã©ã¹å¼ãsubClassOfã¹ãã¼ãã¡ã³ãã®ä¸¡å´ã§ç¨ãããã®ãããªé¢ä¿ãæ¨è«ãããã¨ãå¯è½ã§ããå¤ãã®å¤§è¦æ¨¡ãªã¯ã©ã¹å¼æåã®ãªã³ããã¸ã¼ã§ã¯ãå°ãã®ç°¡ç´ åãè¡ãã ãã§ãOWL 2 ELãªã³ããã¸ã¼ãå ¥æããå ã®ãªã³ããã¸ã¼ã®æå³ã®ã»ã¨ãã©ãä¿åã§ãã¾ãã
OWL 2 ELã¯ãSNOMED-CTããNCIã·ã½ã¼ã©ã¹ããGalenãªã©ã®å¤§è¦æ¨¡ãªãã¤ãªãã«ã¹ã®ãªã³ããã¸ã¼ã念é ã«ããã¦è¨è¨ããã¦ãã¾ãããã®ãããªãªã³ããã¸ã¼ã«å ±éããç¹å¾´ã«ã¯ãè¤éãªæ§é ã®è¨è¿°ï¼ä¾ãã°ã身ä½ã®é¨åã«ã¤ãã¦ããããã©ã®ãããªé¨åãå«ã¿ãã©ã®ãããªé¨åã«å«ã¾ãã¦ãããã®è¦³ç¹ãã¾ãã¯ãé¨åâä¸ä½é¨åé¢ä¿ã«æ²¿ã£ãç æ°ã®ä¼æã®è¦³ç¹ã§å®ç¾©ããï¼ãè¨å¤§ãªæ°ã®ã¯ã©ã¹ãç¨èªã管çããããã®åé¡ã®å¤ç¨ãçµæã¨ãã¦å¾ãããç¨èªã®å¤§éãã¼ã¿ã¸ã®å¿ç¨ãå«ã¾ãã¾ãããããã£ã¦ãOWL 2 ELã«ã¯æ¯è¼ç表ç¾åã®ããã¯ã©ã¹å¼è¨èªãåå¨ãã¦ãããå ¬çã«ãããä½¿ç¨æ¹æ³ã«å¶éãããã¾ãããããã¯ãããªã表ç¾åã®ããããããã£ã¼å¼ãæãã¦ãããããããã£ã¼é£éã¯å«ããã®ã®ãéã¯é¤å¤ããã¦ãã¾ãã
è¨ãã¾ã§ããªããOWL 2 ELã®å®éçãªä½¿ç¨ã¯ããã¤ãªãã«ã¹ã®å®ç¾©åã«éããã¦ã¯ãã¾ãããä»ã®ãããã¡ã¤ã«ã®ããã«ãOWL 2 ELã¯ãå®ç¾©åã«ã¯ä¾åãã¾ãããããããOWL 2 ELã¯ãæ§é çã«è¤éãªãªãã¸ã§ã¯ãã®èªèãå®ç¾©åã¨ã¢ããªã±ã¼ã·ã§ã³ã«å¿ è¦ãªå ´åã«åªãã¦ãã¾ãããã®ãããªå®ç¾©åã«ã¯ãã·ã¹ãã æ§æã製åç®é²ãå¤ãã®ç§å¦çãªå®ç¾©åãå«ã¾ãã¾ãã
OWL 2 ELã§ã¯ãè«çå¦å®ã¨è«çå以å¤ã«ããããããã£ã¼ã®å ¨ç§°éåã¯è¨±ããã¦ãã¾ããããããã£ã¦ããéæã¡ã®åä¾ã¯ã¿ããªéæã¡ã§ãããã®ãããªå½é¡ãè¿°ã¹ããã¨ã¯ã§ãã¾ãããããã«ããã¹ã¦ã®ç¨®é¡ã®å½¹å²ã®éãå©ç¨ã§ããããã§ã¯ãªããªãããããã¨ãã°ãparentOfã¨childOfãäºãã«éã§ããã¨ãããã¨ãæå®ããæ¹æ³ã¯ããã¾ããã
ELã¨ããé åèªã¯ããããã¡ã¤ã«ã®åºç¤ããè¨è¿°è«ç[EL++]ã®ããããELãã¡ããªã¼ï¼ä¸»ã«å¤æ°ã®ç¹ç§°éåãæä¾ããè¨èªï¼ã«ãããã¨ãåæ ãã¦ãã¾ãã
次ã¯ãOWL 2 ELã§å©ç¨ã§ããå ¸åçãªã¢ãã«åæ©è½ã®ããã¤ããç¨ããä¾ã§ãã
SubClassOf( :Father ObjectIntersectionOf( :Man :Parent ) ) EquivalentClasses( :Parent ObjectSomeValuesFrom( :hasChild :Person ) ) EquivalentClasses( :NarcisticPerson ObjectHasSelf( :loves ) ) DisjointClasses( :Mother :Father :YoungChild ) SubObjectPropertyOf( ObjectPropertyChain( :hasFather :hasBrother ) :hasUncle ) NegativeObjectPropertyAssertion( :hasDaughter :Bill :Susan )
<owl:Class rdf:about="Father"> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Man"/> <owl:Class rdf:about="Parent"/> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="Parent"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:about="hasChild"/> <owl:someValuesFrom rdf:resource="Person"/> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="NarcisticPerson"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="loves"/> <owl:hasSelf rdf:datatype="&xsd;boolean"> true </owl:hasSelf> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about="Mother"/> <owl:Class rdf:about="Father"/> <owl:Class rdf:about="YoungChild"/> </owl:members> </owl:AllDisjointClasses> <rdf:Description rdf:about="hasUncle"> <owl:propertyChainAxiom rdf:parseType="Collection"> <owl:ObjectProperty rdf:about="hasFather"/> <owl:ObjectProperty rdf:about="hasBrother"/> </owl:propertyChainAxiom> </rdf:Description> <owl:NegativePropertyAssertion> <owl:sourceIndividual rdf:resource="Bill"/> <owl:assertionProperty rdf:resource="hasDaughter"/> <owl:targetIndividual rdf:resource="Susan"/> </owl:NegativePropertyAssertion>
:Father rdfs:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Man :Parent ) ] . :Parent owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:someValuesFrom :Person ] . :NarcisticPerson owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :loves ; owl:hasSelf true ] . [] rdf:type owl:AllDisjointClasses ; owl:members ( :Mother :Father :YoungChild ) . :hasUncle owl:propertyChainAxiom ( :hasFather :hasBrother ) . [] rdf:type owl:NegativePropertyAssertion ; owl:sourceIndividual :Bill ; owl:assertionProperty :hasDaughter ; owl:targetIndividual :Susan .
Class: Father SubClassOf: Man and Parent Class: Parent EquivalentTo: hasChild some Person Class: NarcisticPerson EquivalentTo: loves Self DisjointClasses: Mother, Father, YoungChild ObjectProperty: hasUncle SubPropertyChain: hasFather o hasBrother Individual: Bill Facts: not hasDaughter Susan
<SubClassOf> <Class IRI="Father"/> <ObjectIntersectionOf> <Class IRI="Man"/> <Class IRI="Parent"/> </ObjectIntersectionOf> </SubClassOf> <EquivalentClasses> <Class IRI="Parent"/> <ObjectSomeValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="Person"/> </ObjectSomeValuesFrom> </EquivalentClasses> <EquivalentClasses> <Class IRI="NarcisticPerson"/> <ObjectHasSelf> <ObjectProperty IRI="loves"/> </ObjectHasSelf> </EquivalentClasses> <DisjointClasses> <Class IRI="Father"/> <Class IRI="Mother"/> <Class IRI="YoungChild"/> </DisjointClasses> <SubObjectPropertyOf> <ObjectPropertyChain> <ObjectProperty IRI="hasFather"/> <ObjectProperty IRI="hasBrother"/> </ObjectPropertyChain> <ObjectProperty IRI="hasUncle"/> </SubObjectPropertyOf> <NegativeObjectPropertyAssertion> <ObjectProperty IRI="hasDaughter"/> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="Susan"/> </NegativeObjectPropertyAssertion>10.2 OWL 2 QL
OWL 2 QLã¯ãæ¨æºçãªãªã¬ã¼ã·ã§ãã«ã»ãã¼ã¿ãã¼ã¹æè¡ï¼ä¾ãã°ãSQLï¼ãç¨ãã¦ãã¯ã©ã¹å ¬çã®è¦³ç¹ã§ã¯ã¨ãªãæ¡å¼µããã ãã§å®ç¾ã§ãã¾ããããã¯ãRDBMSã¨å¯æ¥ã«çµ±åå¯è½ã§ããã®å¼·åãªå®è£ ã¨ãã«ãã¦ã¼ã¶æ©è½ã®æ©æµãåãããããã¨ãæå³ãã¾ããããã«ãããã¼ã¿ã«è§¦ãããå¿ è¦ããªããããå®éã«ç¿»è¨³ï¼åå¦çã¬ã¤ã¤ã¼ã¨ãã¦å®è£ ã§ãã¾ããããã¯ãå®ä½é¢é£å³ã¨UMLå³ï¼å°ãªãã¨ã颿°å¶éããããã®ï¼ã®éè¦ãªæ©è½ã表ç¾åè±ãã«è¡¨ããã¨ãã§ãã¾ãããããã£ã¦ããã¼ã¿ãã¼ã¹ã»ã¹ãã¼ãã®è¡¨ç¾ã¨ãã¯ã¨ãªã®æ¸ãæãã«ãããã®ã¹ãã¼ãã®çµ±åã«é©ãã¦ãã¾ãããã®çµæãã¦ã¼ã¶ã¯å³ã«åºã¥ããæ§æã好ãããããã¾ããããé«åº¦ãªãã¼ã¿ãã¼ã¹ã»ã¹ãã¼ãè¨èªã¨ãã¦ãç´æ¥ä½¿ç¨ã§ãã¾ãã
OWL 2 QLã¯ãéããããã£ã¼ããµãããããã£ã¼é層ã®ãããªãRDFSã¨ãã®å°ããªæ¡å¼µã«ããã¦ä¸è¬çã«ç¨ããããæ©è½ã®å¤ããåãå ¥ãã¦ãã¾ããOWL 2 QLã¯ãã¯ã©ã¹å ¬çãé対称çã«å¶éãã¾ããããªãã¡ãã¹ã¼ãã¼ã¯ã©ã¹ã¨ãã¦ä½¿ç¨ã§ããªããµãã¯ã©ã¹ã¨ãã¦æ§æåã使ç¨ã§ãã¾ãã
æ§æåã®ä¸ã§ããã¨ãããOWL 2 QLã§ã¯ãã¯ã©ã¹å¼ã«å¯¾ããå½¹å²ã®ç¹ç§°éåã¯è¨±ããã¦ãã¾ãããããªãã¡ããã¹ã¦ã®äººã«ã¯è¦ªãããããã©ãããã¹ã¦ã®äººã«å¥³æ§ã®è¦ªãããã¨ã¯éããªãã¨è¿°ã¹ããã¨ãã§ãã¾ããããã«ãããããã£ã¼é£éå ¬çã¯ãµããªã¼ãããã¦ãã¾ããã
QLã¨ããé åèªã¯ãã¯ã¨ãªãæ¨æºçãªãªã¬ã¼ã·ã§ãã«åã¯ã¨ãªè¨èª[DL-Lite]ã«æ¸ãæãããã¨ã«ãã£ã¦ããã®ãããã¡ã¤ã«ã§åçãè¡ãã¯ã¨ãªãå®è£ ã§ããã¨ããäºå®ãåæ ãã¦ãã¾ãã
次ã¯ãOWL 2 QLã§å©ç¨å¯è½ãªå ¸åçãªã¢ãã«åæ©è½ã®ããã¤ããç¨ããä¾ã§ããæåã®å ¬çã¯ããã¹ã¦ã®åä¾ã®ããªã人ã¯ã親ã¨ããä¸äººç§°ãæã£ã¦ããªã人ã§ããã¨è¿°ã¹ã¦ãã¾ãã
SubClassOf( :ChildlessPerson ObjectIntersectionOf( :Person ObjectComplementOf( ObjectSomeValuesFrom( ObjectInverseOf( :hasParent ) owl:Thing ) ) ) ) DisjointClasses( :Mother :Father :YoungChild ) DisjointObjectProperties( :hasSon :hasDaughter ) SubObjectPropertyOf( :hasFather :hasParent )
<owl:Class rdf:about="ChildlessPerson"> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class> <owl:complementOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty> <owl:inverseOf rdf:resource="hasParent"/> </owl:ObjectProperty> </owl:onProperty> <owl:someValuesFrom rdf:resource="Person"/> </owl:Restriction> </owl:complementOf> </owl:Class> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class> <owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about="Mother"/> <owl:Class rdf:about="Father"/> <owl:Class rdf:about="YoungChild"/> </owl:members> </owl:AllDisjointClasses> <owl:ObjectProperty rdf:about="hasSon"> <owl:propertyDisjointWith rdf:resource="hasDaughter"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="hasFather"> <rdfs:subPropertyOf rdf:resource="hasParent"/> </owl:ObjectProperty>
:ChildlessPerson owl:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Person [ owl:complementOf [ rdf:type owl:Restriction ; owl:onProperty [ owl:inverseOf :hasParent ] ; owl:someValuesFrom owl:Thing ] ] ) ] . [] rdf:type owl:AllDisjointClasses ; owl:members ( :Mother :Father :YoungChild ) . :hasSon owl:propertyDisjointWith :hasDaughter. :hasFather rdfs:subPropertyOf :hasParent.
Class: ChildlessPerson SubClassOf: Person and not inverse hasParent some owl:Thing DisjointClasses: Mother, Father, YoungChild DisjointProperties: hasSon, hasDaughter ObjectProperty: hasFather SubPropertyOf: hasParent
<SubClassOf> <Class IRI="ChildlessPerson"/> <ObjectIntersectionOf> <Class IRI="Person"/> <ObjectComplementOf> <ObjectSomeValuesFrom> <ObjectInverseOf> <ObjectProperty IRI="hasParent"/> </ObjectInverseOf> <Class abbreviatedIRI="owl:Thing"/> </ObjectSomeValuesFrom> </ObjectComplementOf> </ObjectIntersectionOf> </SubClassOf> <DisjointClasses> <Class IRI="Father"/> <Class IRI="Mother"/> <Class IRI="YoungChild"/> </DisjointClasses> <DisjointObjectProperties> <ObjectProperty IRI="hasSon"/> <ObjectProperty IRI="hasDaughter"/> </DisjointObjectProperties> <SubObjectPropertyOf> <ObjectProperty IRI="hasFather"/> <ObjectProperty IRI="hasParent"/> </SubObjectPropertyOf>10.3 OWL 2 RL
OWL 2 RLãããã¡ã¤ã«ã¯ã表ç¾åããã¾ãç ç²ã«ãããã¨ãªããã¹ã±ã¼ã©ãã«ãªæ¨è«ãå¿ è¦ã¨ããã¢ããªã±ã¼ã·ã§ã³ã対象ã¨ãã¦ãã¾ããããã¯ãè¨èªã®å®å ¨ãªè¡¨ç¾åã¨å¹çã¨ã交æã§ããOWL 2ã¢ããªã±ã¼ã·ã§ã³ã¨ãOWL 2ã®è¡¨ç¾åã追å ããå¿ è¦ãããRDF(S)ã¢ããªã±ã¼ã·ã§ã³ã®ä¸¡æ¹ã«å¯¾å¿ããããã«ä½ããã¦ãã¾ããããã¯ãè¦åãã¼ã¹ã®æè¡ãç¨ããå®è£ ãå¯è½ãªOWL 2ã®æ§æä¸ã®ãµãã»ãããå®ç¾©ãããã®ãããªå®è£ ã®åºç¤ã¨ãã¦ä½¿ç¨ã§ãã䏿¬¡å«æã®å½¢ã§OWL 2 RDFãã¼ã¹ã®ã»ãã³ãã£ã¯ã¹ã®é¨åçãªå ¬çåã示ããã¨ã«ãã£ã¦éæããã¾ãã
OWL 2 RLã®é©åãªè¦åãã¼ã¹ã®å®è£ ã¯ãä»»æã®RDFã°ã©ãã¨ä¸ç·ã«ä½¿ç¨ã§ãã¾ãããã®çµæãOWL 2 RLã¯ãç¹ã«è¦åã追å ãã¦ãã¼ã¿ãæä½ããªããã°ãªããªãã¨ãã«ãRDFãã¼ã¿ãæ¡å ããã®ã«çæ³çã§ããããããã¢ãã«åã®è¦³ç¹ã§ã¯ãããã¯ãã¯ã©ã¹å¼ã®æ±ãããããé¢ãã¦ãã¾ãã¾ããOWL 2 RLã§ã¯ãã¹ã¼ãã¼ã¯ã©ã¹ã®å¼ã§æªç¥ã®åä½ã«é¢ãã¦ï¼å®¹æã«ï¼è¿°ã¹ããã¨ã¯ç¢ºå®ã«ã§ãã¾ããï¼ãã®å¶éã¯ãè¦åã®æ§è³ªããçããï¼ãOWL 2 QLã¨æ¯ã¹ã¦ãOWL 2 RLã¯ããã¼ã¿ãæ¢ã«æä½ãã¦RDFã«ãããããRDFã¨ãã¦æ±ãå ´åã«ãã¾ãæ©è½ãã¾ãã
æ§æåã®ä¸ã§ããã¨ãããOWL 2 RLã§ã¯ãåä½ã®åå¨ãå¥ã®åä½ã®åå¨ãå¼·å¶ãããããªã¹ãã¼ãã¡ã³ãã¯è¨±ããã¦ãã¾ãããä¾ãã°ãããã¹ã¦ã®äººã«ã¯è¦ªããããã¨ããã¹ãã¼ãã¡ã³ãã¯ãOWL RLã§ã¯è¡¨ç¾ã§ãã¾ããã
OWL 2 RLã¯ãã¯ã©ã¹å ¬çãé対称çã«å¶éãã¾ããããªãã¡ãã¹ã¼ãã¼ã¯ã©ã¹ã¨ãã¦ä½¿ç¨ã§ããªããµãã¯ã©ã¹ã¨ãã¦æ§æåã使ç¨ã§ãã¾ãã
RLã¨ããé åèªã¯ãæ¨æºçãªè¦åè¨èª[DLP]ãç¨ãããã¨ã§ããã®ãããã¡ã¤ã«ã®æ¨è«ãå®è£ ã§ããã¨ããäºå®ãåæ ãã¦ãã¾ãã
次ã®ä¾ã§ã¯ãOWL 2 RLã§å©ç¨å¯è½ãªå ¸åçãªã¢ãã«åæ©è½ã®ããã¤ããç¨ãã¦ãã¾ããæåã®ï¼ããä¸èªç¶ãªï¼å ¬çã¯ã女æ§ã§ããã¡ã¢ãªã¼ããã«ãã¡ã°ã®ããããã«é¢ããå½¼å¥³ã¯æå¤§1人ã®åä¾ãæã¤è¦ªã§ããã彼女ã®ãã¹ã¦ã®åä¾ï¼å½¼å¥³ã«åä¾ãããã°ï¼ã¯å¥³æ§ã§ããã¨ãããã¨ãæç«ããã¨è¿°ã¹ã¦ãã¾ãã
SubClassOf( ObjectIntersectionOf( ObjectOneOf( :Mary :Bill :Meg ) :Female ) ObjectIntersectionOf( :Parent ObjectMaxCardinality( 1 :hasChild ) ObjectAllValuesFrom( :hasChild :Female ) ) ) DisjointClasses( :Mother :Father :YoungChild ) SubObjectPropertyOf( ObjectPropertyChain( :hasFather :hasBrother ) :hasUncle )
<owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <rdf:Description rdf:about="Mary"/> <rdf:Description rdf:about="Bill"/> <rdf:Description rdf:about="Meg"/> </owl:oneOf> </owl:Class> <owl:Class rdf:about="Female"/> </owl:intersectionOf> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Parent"/> <owl:Restriction> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger"> 2 </owl:maxCardinality> <owl:onProperty rdf:resource="hasChild"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:allValuesFrom rdf:resource="Female"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class> <owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about="Mother"/> <owl:Class rdf:about="Father"/> <owl:Class rdf:about="YoungChild"/> </owl:members> </owl:AllDisjointClasses> <rdf:Description rdf:about="hasUncle"> <owl:propertyChainAxiom rdf:parseType="Collection"> <owl:ObjectProperty rdf:about="hasFather"/> <owl:ObjectProperty rdf:about="hasBrother"/> </owl:propertyChainAxiom> </rdf:Description>
[] rdf:type owl:Class ; owl:intersectionOf ( [ rdf:type owl:Class ; owl:oneOf ( :Mary :Bill :Meg ) ] :Female ) ; rdfs:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Parent [ rdf:type owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ] [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:allValuesFrom :Female ] ) ] . [] rdf:type owl:AllDisjointClasses ; owl:members ( :Mother :Father :YoungChild ) . :hasUncle owl:propertyChainAxiom ( :hasFather :hasBrother ) .
Class: X SubClassOf: Parent and hasChild max 1 and hasChild only Female Class: X EquivalentTo: {Mary, Bill, Meg} and Female DisjointClasses: Mother, Father, YoungChild ObjectProperty: hasUncle SubPropertyChain: hasFather o hasBrother
<SubClassOf> <ObjectIntersectionOf> <ObjectOneOf> <NamedIndividual IRI="Mary"/> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="Meg"/> </ObjectOneOf> <Class IRI="Female"/> </ObjectIntersectionOf> <ObjectIntersectionOf> <Class IRI="Parent"/> <ObjectMaxCardinality cardinality="1"> <ObjectProperty IRI="hasChild"/> </ObjectMaxCardinality> <ObjectAllValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="Female"/> </ObjectAllValuesFrom> </ObjectIntersectionOf> </SubClassOf> <DisjointClasses> <Class IRI="Father"/> <Class IRI="Mother"/> <Class IRI="YoungChild"/> </DisjointClasses> <SubObjectPropertyOf> <ObjectPropertyChain> <ObjectProperty IRI="hasFather"/> <ObjectProperty IRI="hasBrother"/> </ObjectPropertyChain> <ObjectProperty IRI="hasUncle"/> </SubObjectPropertyOf>11 OWLãã¼ã«
OWLãªã³ããã¸ã¼ãæ±ãããã«ã¯ããã¼ã«ã®ãµãã¼ãã¯ä¸å¯æ¬ ã§ããåºæ¬çã«ããªã³ããã¸ã¼ã®ã©ã¤ãã»ãµã¤ã¯ã«ã®2ã¤ã®ä¸»è¦ãªæ®µéã«å¯¾å¿ãã2種é¡ã®ãã¼ã«ãããã¾ãããªã³ããã¸ã¼ã»ã¨ãã£ã¿ã¯ããªã³ããã¸ã¼ã使ãç·¨éããããã«ç¨ããããæ¨è«ã·ã¹ãã ã¯ããªã³ããã¸ã¼ã«ã¯ã¨ãªãå®è¡ãã¦æé»ç¥ãå¾ãããã«ç¨ãããã¾ããè¨ãæããã°ãããã¯ãåé¡ã®ã¹ãã¼ãã¡ã³ãããªã³ããã¸ã¼ã«ããã¦è«çç帰çµã§ãããå¦ããæ±ºå®ãã¾ãã
ç¾å¨æãåºã使ç¨ããã¦ããOWLã¨ãã£ã¿ã¯ãã¹ã¿ã³ãã©ã¼ã大å¦ã§éçºãããç¡æãªã¼ãã³ã»ã½ã¼ã¹ã®ç·¨éãã¬ã¼ã ã¯ã¼ã¯ã§ããProtégéã§ãããªã¼ãã³ãªãã©ã°ã¤ã³æ§é ã«ãããç¹æ®ç¨éã®ãªã³ããã¸ã¼ç·¨éã³ã³ãã¼ãã³ãã®çµ±åã容æã«å¯è½ã«ãªãã¾ããä»ã®ã¨ãã£ã¿ã«ã¯ãTopQuadrantã®å¸è²©ã®TopBraid Composerããªã¼ãã³ã»ã½ã¼ã¹ã»ã·ã¹ãã ã§ããSWOOPããã³NeOn-Toolkitãããã¾ãã
æ¨è«æ©è½ã®ãµãã¼ãç¯å²ãç°ãªãOWL DLç¨ã®æ¨è«ã·ã¹ãã ãããã¤ãããã¾ãããããã®ä¸é¨ã¯ãOWL 2ã¸ã®é©ååãç¾å¨è¨ç»ããã¦ããã対å¿ããå®è£ ãé²ãã¦ãã¾ãããã¹ãã»ã¹ã¤ã¼ãã»ã¹ãã¼ã¿ã¹ã®ããã¥ã¡ã³ãã§ã¯ã以ä¸ã§è¿°ã¹ãæ¨è«ã·ã¹ãã ã®ä¸é¨ããã©ã®ç¯å²ãã¹ãã±ã¼ã¹ã«æºæ ãã¦ããããè¨è¿°ãã¦ãã¾ãã
OWL DLã®æ¨è«ã·ã¹ãã ã®å ´åãæãæåãªã·ã¹ãã ã¯ããã³ãã§ã¹ã¿ã¼å¤§å¦ã®Fact++ããªãã¯ã¹ãã©ã¼ã大å¦ã³ã³ãã¥ã¼ãã£ã³ã°ç ç©¶æã®HermitãClark & Parsia, LLCã®Pelletãããã³ã¬ã¼ãµã¼ã»ã·ã¹ãã ãºã®RacerProã§ãã
OWL DLã®å®å ¨ãªãµãã¼ããç®æãã¦ããæ±ç¨æ¨è«ã·ã¹ãã ã®ã»ãã«ãOWLã®æ±ãããããããã¡ã¤ã«ã«é©åãããæ¨è«ã·ã¹ãã ãããã¾ãããã¬ã¹ãã³å·¥ç§å¤§å¦ã®CELã¯ãOWL ELããµãã¼ããã¦ãã¾ãããã¼ãã»ã©ã»ãµãã¨ã³ãã¡å¤§å¦ã®QuOntoã¯ãOWL QLããµãã¼ããã¦ãã¾ããORACLE 11gã¯ãOWL RLããµãã¼ããã¦ãã¾ãã
ãªã¼ãã³ã»ã½ã¼ã¹ã®OWL APIã¯ãOWLã«é¢ããç¾å¨æãéè¦ãªéçºãã¼ã«ã¨ãã¦ããªã大ããªå½¹å²ãæããã¦ãã¾ãã
ãã®ããã¥ã¡ã³ãã使ãããæç¹ã§ããã¤ãã®OWLãã¼ã«ãéçºä¸ã§ããããããã£ã¦ãç¾å¨ã®æ¦è¦ã¯ãææ°ã®æ¦è¦ã§ã¯ãªãããã®éçºã®ã¹ãããã·ã§ããã§ããã¨èããã¹ãã¨è¨ããªããã°ãªãã¾ãããOWLãã¼ã«ã®è©³ç´°ãªã¹ãã¯ãsemanticweb.orgã¨ESW-Wikiã«ããã¾ãã
12 次ã«èªãã¹ããã®ãã®çãå ¥éã§ã¯ãOWLã®è¡¨é¢ããªã§ããã¨ããã§ãã¾ãããã¦ã§ãã§æ¢ãã°ãOWLã¨OWLãã¼ã«ã®ä½¿ãæ¹ã«é¢ãããé·ãããã詳細ãªãã¥ã¼ããªã¢ã«ãå¤ãçºè¦ã§ãã¾ãããããã®ããã¥ã¡ã³ããèªãã ããOWLãªã³ããã¸ã¼ãæ§ç¯ããããã«ãã¼ã«ãç¨ãããã¨ããOWLã«é¢ããå®ç¨çãªç¥èãå¾ãã«ã¯ãããããæãè¯ãæ¹æ³ã§ããOWLã®åºç¤ããã£ã¨å¦ã¶ããã«ãæåã«ã[FOST]ã¨ããæç§æ¸ãèªã¿ã次ã«ãããã§å¼ç¨ããã¦ããåèãèªããã¨ããå§ããã¾ãã
ã¾ãããã®çãå ¥éã¯OWLã®è¦ç¯çãªå®ç¾©ã§ã¯ããã¾ãããOWLæ§æã®è¦ç¯çãªå®ç¾©ã¨ãåOWLæ§æåã®æå³ã«é¢ããåèæ å ±ã¯ãOWL 2æ§é 仿§ããã¥ã¡ã³ãããã³é¢æ°åæ§æããã¥ã¡ã³ã[OWL 2 Specification]ã«ããã¾ãã
OWL 2 ã¯ã£ãã¯ã»ãªãã¡ã¬ã³ã¹ã»ã¬ã¤ã[OWL 2 Quick Guide]ã¯ãç¹å®ã®è¨èªæ©è½ã®æ å ±ãæ¢ãéã®åèã¨ãã¦ä¾¿å©ã§ãã
ããå½¢å¼çãªããã¥ã¡ã³ãã«èå³ãããå ´åã¯ãOWL 2ã®å½¢å¼çãªæå³ã¯ãOWL 2ã»ãã³ãã£ã¯ã¹ã»ããã¥ã¡ã³ã[OWL 2 Direct Semantics] [OWL 2 RDF-Based Semantics]ã«ããããããã¾ããã
OWLæ§æã¨RDFããªãã«ã¨ã®éã®ãããã³ã°ã¯ãOWL 2 RDFã°ã©ãã¸ã®ãããã³ã°ã¨ããããã¥ã¡ã³ã[OWL 2 RDF Mapping]ã«ããã¾ãã
13 ä»é²: å®å ¨ãªãµã³ãã«ã»ãªã³ããã¸ã¼ããã§ãå®å ¨ãªãµã³ãã«OWLãªã³ããã¸ã¼ãæ²è¼ãã¾ãããªã³ããã¸ã¼ã®åçã¯ããããç¨ãããããã¬ãã«ã®è¡¨ç¾åãæããæ©è½ã«ãã£ã¦é åºä»ãããã¦ãã¾ããããã«ãæåã«ãªã³ããã¸ã¼ããã³å®£è¨æ å ±ããã®å¾ã§ããããã£ã¼ã«é¢ããæ å ±ããã®æ¬¡ã«ã¯ã©ã¹ã¨ãã¼ã¿åãããã¦ã次ã«åä½ã¨ããä¸è¬çãªé åºã«å¾ãã¾ãã
Prefix(:=<http://example.com/owl/families/>) Prefix(otherOnt:=<http://example.org/otherOntologies/families/>) Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>) Prefix(owl:=<http://www.w3.org/2002/07/owl#>) Ontology(<http://example.com/owl/families> Import( <http://example.org/otherOntologies/families.owl> ) Declaration( NamedIndividual( :John ) ) Declaration( NamedIndividual( :Mary ) ) Declaration( NamedIndividual( :Jim ) ) Declaration( NamedIndividual( :James ) ) Declaration( NamedIndividual( :Jack ) ) Declaration( NamedIndividual( :Bill ) ) Declaration( NamedIndividual( :Susan ) ) Declaration( Class( :Person ) ) AnnotationAssertion( rdfs:comment :Person "Represents the set of all people." ) Declaration( Class( :Woman ) ) Declaration( Class( :Parent ) ) Declaration( Class( :Father ) ) Declaration( Class( :Mother ) ) Declaration( Class( :SocialRole ) ) Declaration( Class( :Man ) ) Declaration( Class( :Teenager ) ) Declaration( Class( :ChildlessPerson ) ) Declaration( Class( :Human ) ) Declaration( Class( :Female ) ) Declaration( Class( :HappyPerson ) ) Declaration( Class( :JohnsChildren ) ) Declaration( Class( :NarcisticPerson ) ) Declaration( Class( :MyBirthdayGuests ) ) Declaration( Class( :Dead ) ) Declaration( Class( :Orphan ) ) Declaration( Class( :Adult ) ) Declaration( Class( :YoungChild ) ) Declaration( ObjectProperty( :hasWife ) ) Declaration( ObjectProperty( :hasChild ) ) Declaration( ObjectProperty( :hasDaughter ) ) Declaration( ObjectProperty( :loves ) ) Declaration( ObjectProperty( :hasSpouse ) ) Declaration( ObjectProperty( :hasGrandparent ) ) Declaration( ObjectProperty( :hasParent ) ) Declaration( ObjectProperty( :hasBrother ) ) Declaration( ObjectProperty( :hasUncle ) ) Declaration( ObjectProperty( :hasSon ) ) Declaration( ObjectProperty( :hasAncestor ) ) Declaration( ObjectProperty( :hasHusband ) ) Declaration( DataProperty( :hasAge ) ) Declaration( DataProperty( :hasSSN ) ) Declaration( Datatype( :personAge ) ) Declaration( Datatype( :majorAge ) ) Declaration( Datatype( :toddlerAge ) ) SubObjectPropertyOf( :hasWife :hasSpouse ) SubObjectPropertyOf( ObjectPropertyChain( :hasParent :hasParent ) :hasGrandparent ) SubObjectPropertyOf( ObjectPropertyChain( :hasFather :hasBrother ) :hasUncle ) SubObjectPropertyOf( :hasFather :hasParent ) EquivalentObjectProperties( :hasChild otherOnt:child ) InverseObjectProperties( :hasParent :hasChild ) EquivalentDataProperties( :hasAge otherOnt:age ) DisjointObjectProperties( :hasSon :hasDaughter ) ObjectPropertyDomain( :hasWife :Man ) ObjectPropertyRange( :hasWife :Woman ) DataPropertyDomain( :hasAge :Person ) DataPropertyRange( :hasAge xsd:nonNegativeInteger ) SymmetricObjectProperty( :hasSpouse ) AsymmetricObjectProperty( :hasChild ) DisjointObjectProperties( :hasParent :hasSpouse ) ReflexiveObjectProperty( :hasRelative ) IrreflexiveObjectProperty( :parentOf ) FunctionalObjectProperty( :hasHusband ) InverseFunctionalObjectProperty( :hasHusband ) TransitiveObjectProperty( :hasAncestor ) FunctionalDataProperty( :hasAge ) SubClassOf( :Woman :Person ) SubClassOf( :Mother :Woman ) SubClassOf( :Grandfather ObjectIntersectionOf( :Man :Parent ) ) SubClassOf( :Teenager DataSomeValuesFrom( :hasAge DatatypeRestriction( xsd:integer xsd:minExclusive "12"^^xsd:integer xsd:maxInclusive "19"^^xsd:integer ) ) ) SubClassOf( Annotation( rdfs:comment "States that every man is a person." ) :Man :Person ) SubClassOf( :Father ObjectIntersectionOf( :Man :Parent ) ) SubClassOf( :ChildlessPerson ObjectIntersectionOf( :Person ObjectComplementOf( ObjectSomeValuesFrom( ObjectInverseOf( :hasParent ) owl:Thing ) ) ) ) SubClassOf( ObjectIntersectionOf( ObjectOneOf( :Mary :Bill :Meg ) :Female ) ObjectIntersectionOf( :Parent ObjectMaxCardinality( 1 :hasChild ) ObjectAllValuesFrom( :hasChild :Female ) ) ) EquivalentClasses( :Person :Human ) EquivalentClasses( :Mother ObjectIntersectionOf( :Woman :Parent ) ) EquivalentClasses( :Parent ObjectUnionOf( :Mother :Father ) ) EquivalentClasses( :ChildlessPerson ObjectIntersectionOf( :Person ObjectComplementOf( :Parent ) ) ) EquivalentClasses( :Parent ObjectSomeValuesFrom( :hasChild :Person ) ) EquivalentClasses( :HappyPerson ObjectIntersectionOf( ObjectAllValuesFrom( :hasChild :HappyPerson ) ObjectSomeValuesFrom( :hasChild :HappyPerson ) ) ) EquivalentClasses( :JohnsChildren ObjectHasValue( :hasParent :John ) ) EquivalentClasses( :NarcisticPerson ObjectHasSelf( :loves ) ) EquivalentClasses( :MyBirthdayGuests ObjectOneOf( :Bill :John :Mary) ) EquivalentClasses( :Orphan ObjectAllValuesFrom( ObjectInverseOf( :hasChild ) :Dead ) ) EquivalentClasses( :Adult otherOnt:Grownup ) EquivalentClasses( :Parent ObjectSomeValuesFrom( :hasChild :Person ) ) DisjointClasses( :Woman :Man ) DisjointClasses( :Mother :Father :YoungChild ) HasKey( :Person () ( :hasSSN ) ) DatatypeDefinition( :personAge DatatypeRestriction( xsd:integer xsd:minInclusive "0"^^xsd:integer xsd:maxInclusive "150"^^xsd:integer ) ) DatatypeDefinition( :majorAge DataIntersectionOf( :personAge DataComplementOf( :minorAge ) ) ) DatatypeDefinition( :toddlerAge DataOneOf( "1"^^xsd:integer "2"^^xsd:integer ) ) ClassAssertion( :Person :Mary ) ClassAssertion( :Woman :Mary ) ClassAssertion( ObjectIntersectionOf( :Person ObjectComplementOf( :Parent ) ) :Jack ) ClassAssertion( ObjectMaxCardinality( 4 :hasChild :Parent ) :John ) ClassAssertion( ObjectMinCardinality( 2 :hasChild :Parent ) :John ) ClassAssertion( ObjectExactCardinality( 3 :hasChild :Parent ) :John ) ClassAssertion( ObjectExactCardinality( 5 :hasChild ) :John ) ClassAssertion( :Father :John ) ClassAssertion( :SocialRole :Father ) ObjectPropertyAssertion( :hasWife :John :Mary ) NegativeObjectPropertyAssertion( :hasWife :Bill :Mary ) NegativeObjectPropertyAssertion( :hasDaughter :Bill :Susan ) DataPropertyAssertion( :hasAge :John "51"^^xsd:integer ) NegativeDataPropertyAssertion( :hasAge :Jack "53"^^xsd:integer ) SameIndividual( :John :Jack ) SameIndividual( :John otherOnt:JohnBrown ) SameIndividual( :Mary otherOnt:MaryBrown ) DifferentIndividuals( :John :Bill ) )
<!DOCTYPE rdf:RDF [ <!ENTITY owl "http://www.w3.org/2002/07/owl#" > <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > <!ENTITY otherOnt "http://example.org/otherOntologies/families/" > ]> <rdf:RDF xml:base="http://example.com/owl/families/" xmlns="http://example.com/owl/families/" xmlns:otherOnt="http://example.org/otherOntologies/families/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> <owl:Ontology rdf:about="http://example.com/owl/families"> <owl:imports rdf:resource="http://example.org/otherOntologies/families.owl" /> </owl:Ontology> <owl:ObjectProperty rdf:about="hasWife"> <rdfs:subPropertyOf rdf:resource="hasSpouse"/> <rdfs:domain rdf:resource="Man"/> <rdfs:range rdf:resource="Woman"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="hasParent"> <owl:inverseOf rdf:resource="hasChild"/> <owl:propertyDisjointWith rdf:resource="hasSpouse"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="hasSon"> <owl:propertyDisjointWith rdf:resource="hasDaughter"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:about="hasFather"> <rdfs:subPropertyOf rdf:resource="hasParent"/> </owl:ObjectProperty> <owl:SymmetricProperty rdf:about="hasSpouse"/> <owl:AsymmetricProperty rdf:about="hasChild"/> <owl:ReflexiveProperty rdf:about="hasRelative"/> <owl:IrreflexiveProperty rdf:about="parentOf"/> <owl:FunctionalProperty rdf:about="hasHusband"/> <owl:InverseFunctionalProperty rdf:about="hasHusband"/> <owl:TransitiveProperty rdf:about="hasAncestor"/> <rdf:Description rdf:about="hasGrandparent"> <owl:propertyChainAxiom rdf:parseType="Collection"> <owl:ObjectProperty rdf:about="hasParent"/> <owl:ObjectProperty rdf:about="hasParent"/> </owl:propertyChainAxiom> </rdf:Description> <rdf:Description rdf:about="hasUncle"> <owl:propertyChainAxiom rdf:parseType="Collection"> <owl:ObjectProperty rdf:about="hasFather"/> <owl:ObjectProperty rdf:about="hasBrother"/> </owl:propertyChainAxiom> </rdf:Description> <owl:DatatypeProperty rdf:about="hasAge"> <rdfs:domain rdf:resource="Person"/> <rdfs:range rdfs:Datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> <owl:equivalentProperty rdf:resource="&otherOnt;age"/> </owl:DatatypeProperty> <owl:FunctionalProperty rdf:about="hasAge"/> <owl:Class rdf:about="Woman"> <rdfs:subClassOf rdf:resource="Person"/> </owl:Class> <owl:Class rdf:about="Mother"> <rdfs:subClassOf rdf:resource="Woman"/> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Woman"/> <owl:Class rdf:about="Parent"/> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="Person"> <rdfs:comment>Represents the set of all people.</rdfs:comment> <owl:equivalentClass rdf:resource="Human"/> <owl:hasKey rdf:parseType="Collection"> <owl:ObjectProperty rdf:about="hasSSN"/> </owl:hasKey> </owl:Class> <owl:Class rdf:about="Parent"> <owl:equivalentClass> <owl:Class> <owl:unionOf rdf:parseType="Collection"> <owl:Class rdf:about="Mother"/> <owl:Class rdf:about="Father"/> </owl:unionOf> </owl:Class> </owl:equivalentClass> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:someValuesFrom rdf:resource="Person"/> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="ChildlessPerson"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class> <owl:complementOf rdf:resource="Parent"/> </owl:Class> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="Grandfather"> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Man"/> <owl:Class rdf:about="Parent"/> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="HappyPerson"> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:allValuesFrom rdf:resource="HappyPerson"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:someValuesFrom rdf:resource="HappyPerson"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="JohnsChildren"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="hasParent"/> <owl:hasValue rdf:resource="John"/> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="NarcisticPerson"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty rdf:resource="loves"/> <owl:hasSelf rdf:datatype="&xsd;boolean"> true </owl:hasSelf> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="MyBirthdayGuests"> <owl:equivalentClass> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <rdf:Description rdf:about="Bill"/> <rdf:Description rdf:about="John"/> <rdf:Description rdf:about="Mary"/> </owl:oneOf> </owl:Class> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="Orphan"> <owl:equivalentClass> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty> <owl:inverseOf rdf:resource="hasChild"/> </owl:ObjectProperty> </owl:onProperty> <owl:Class rdf:resource="Dead"/> </owl:Restriction> </owl:equivalentClass> </owl:Class> <owl:Class rdf:about="Teenager"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="hasAge"/> <owl:someValuesFrom> <rdfs:Datatype> <owl:onDataType rdf:resource="&xsd;integer"/> <owl:withRestrictions rdf:parseType="Collection"> <rdf:Description> <xsd:minExclusive rdf:datatype="&xsd;integer">12</xsd:minExclusive> </rdf:Description> <rdf:Description> <xsd:maxInclusive rdf:datatype="&xsd;integer">19</xsd:maxInclusive> </rdf:Description> </owl:withRestrictions> </rdfs:Datatype> </owl:someValuesFrom> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="Man"> <rdfs:subClassOf rdf:resource="Person"/> </owl:Class> <owl:Axiom> <owl:annotatedSource rdf:resource="Man"/> <owl:annotatedProperty rdf:resource="&rdfs;subClassOf"/> <owl:annotatedTarget rdf:resource="Person"/> <rdfs:comment>States that every man is a person.</rdfs:comment> </owl:Axiom> <owl:Class rdf:about="Adult"> <owl:equivalentClass rdf:resource="&otherOnt;Grownup"/> </owl:Class> <owl:Class rdf:about="Father"> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Man"/> <owl:Class rdf:about="Parent"/> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class> <owl:Class rdf:about="ChildlessPerson"> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class> <owl:complementOf> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty> <owl:inverseOf rdf:resource="hasParent"/> </owl:ObjectProperty> </owl:onProperty> <owl:someValuesFrom rdf:resource="&owl;Thing"/> </owl:Restriction> </owl:complementOf> </owl:Class> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class> <owl:oneOf rdf:parseType="Collection"> <rdf:Description rdf:about="Mary"/> <rdf:Description rdf:about="Bill"/> <rdf:Description rdf:about="Meg"/> </owl:oneOf> </owl:Class> <owl:Class rdf:about="Female"/> </owl:intersectionOf> <rdfs:subClassOf> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Parent"/> <owl:Restriction> <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger"> 2 </owl:maxCardinality> <owl:onProperty rdf:resource="hasChild"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="hasChild"/> <owl:allValuesFrom rdf:resource="Female"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </rdfs:subClassOf> </owl:Class> <owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about="Woman"/> <owl:Class rdf:about="Man"/> </owl:members> </owl:AllDisjointClasses> <owl:AllDisjointClasses> <owl:members rdf:parseType="Collection"> <owl:Class rdf:about="Mother"/> <owl:Class rdf:about="Father"/> <owl:Class rdf:about="YoungChild"/> </owl:members> </owl:AllDisjointClasses> <rdf:Description rdf:about="personAge"> <owl:equivalentClass> <rdfs:Datatype> <owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> <owl:withRestrictions rdf:parseType="Collection"> <rdf:Description> <xsd:minInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">0</xsd:minInclusive> </rdf:Description> <rdf:Description> <xsd:maxInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">150</xsd:maxInclusive> </rdf:Description> </owl:withRestrictions> </rdfs:Datatype> </owl:equivalentClass> </rdf:Description> <rdf:Description rdf:about="majorAge"> <owl:equivalentClass> <rdfs:Datatype> <owl:intersectionOf rdf:parseType="Collection"> <rdf:Description rdf:about="personAge"/> <rdfs:Datatype> <owl:datatypeComplementOf rdf:resource="minorAge"/> </rdfs:Datatype> </owl:intersectionOf> </rdfs:Datatype> </owl:equivalentClass> </rdf:Description> <rdf:Description rdf:about="toddlerAge"> <owl:equivalentClass> <rdfs:Datatype> <owl:oneOf> <rdf:Description> <rdf:first rdf:datatype="&xsd;integer">1</rdf:first> <rdf:rest> <rdf:Description> <rdf:first rdf:datatype="&xsd;integer">2</rdf:first> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> </rdf:Description> </rdf:rest> </rdf:Description> </owl:oneOf> </rdfs:Datatype> </owl:equivalentClass> </rdf:Description> <Person rdf:about="Mary"> <rdf:type rdf:resource="Woman"/> <owl:sameAs rdf:resource="&otherOnt;MaryBrown"/> </Person> <owl:NamedIndividual rdf:about="James"> <owl:sameAs rdf:resource="Jim"/> </owl:NamedIndividual> <rdf:Description rdf:about="Jack"> <rdf:type> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="Person"/> <owl:Class> <owl:complementOf rdf:resource="Parent"/> </owl:Class> </owl:intersectionOf> </owl:Class> </rdf:type> </rdf:Description> <owl:NamedIndividual rdf:about="John"> <hasWife rdf:resource="Mary"/> <hasAge rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">51</hasAge> <owl:differentFrom rdf:resource="Bill"/> <owl:sameAs rdf:resource="&otherOnt;JohnBrown"/> <rdf:type rdf:resource="Person"/> <rdf:type rdf:resource="Father"/> <rdf:type> <owl:Restriction> <owl:maxQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger"> 4 </owl:maxQualifiedCardinality> <owl:onProperty rdf:resource="hasChild"/> <owl:onClass rdf:resource="Parent"/> </owl:Restriction> </rdf:type> <rdf:type> <owl:Restriction> <owl:minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger"> 2 </owl:minQualifiedCardinality> <owl:onProperty rdf:resource="hasChild"/> <owl:onClass rdf:resource="Parent"/> </owl:Restriction> </rdf:type> <rdf:type> <owl:Restriction> <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger"> 3 </owl:qualifiedCardinality> <owl:onProperty rdf:resource="hasChild"/> <owl:onClass rdf:resource="Parent"/> </owl:Restriction> </rdf:type> <rdf:type> <owl:Restriction> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger"> 5 </owl:cardinality> <owl:onProperty rdf:resource="hasChild"/> </owl:Restriction> </rdf:type> </owl:NamedIndividual> <SocialRole rdf:about="Father"/> <owl:NegativePropertyAssertion> <owl:sourceIndividual rdf:resource="Bill"/> <owl:assertionProperty rdf:resource="hasWife"/> <owl:targetIndividual rdf:resource="Mary"/> </owl:NegativePropertyAssertion> <owl:NegativePropertyAssertion> <owl:sourceIndividual rdf:resource="Jack"/> <owl:assertionProperty rdf:resource="hasAge"/> <owl:targetValue rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">53</owl:targetValue> </owl:NegativePropertyAssertion> <owl:NegativePropertyAssertion> <owl:sourceIndividual rdf:resource="Bill"/> <owl:assertionProperty rdf:resource="hasDaughter"/> <owl:targetIndividual rdf:resource="Susan"/> </owl:NegativePropertyAssertion> </rdf:RDF>
@prefix : <http://example.com/owl/families/> . @prefix otherOnt: <http://example.org/otherOntologies/families/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . <http://example.com/owl/families> rdf:type owl:Ontology ; owl:imports <http://example.org/otherOntologies/families.owl> . :hasSpouse rdf:type owl:SymmetricProperty . :hasRelative rdf:type owl:ReflexiveProperty . :parentOf rdf:type owl:IrreflexiveProperty . :hasAncestor rdf:type owl:TransitiveProperty . :hasHusband rdf:type owl:FunctionalProperty . :hasHusband rdf:type owl:InverseFunctionalProperty . :hasWife rdf:type owl:ObjectProperty . :hasWife rdfs:domain :Man ; rdfs:range :Woman . :hasWife rdfs:subPropertyOf :hasSpouse . :hasSon owl:propertyDisjointWith :hasDaughter. :hasFather rdfs:subPropertyOf :hasParent. :hasParent owl:inverseOf :hasChild . :hasParent owl:propertyDisjointWith :hasSpouse . :hasGrandparent owl:propertyChainAxiom ( :hasParent :hasParent ) . :hasUncle owl:propertyChainAxiom ( :hasFather :hasBrother ) . :hasAge owl:equivalentProperty otherOnt:age . :hasAge rdf:type owl:DatatypeProperty . :hasAge rdf:type owl:FunctionalProperty .:hasAge rdfs:domain :Person ; rdfs:range xsd:nonNegativeInteger . :hasChild owl:equivalentProperty otherOnt:child .:hasChild rdf:type owl:AsymmetricProperty . :Woman rdfs:subClassOf :Person . :Mother rdfs:subClassOf :Woman . :Mother owl:equivalentClass [ rdf:type owl:Class ; owl:intersectionOf ( :Woman :Parent ) ] . :Person rdf:type owl:Class . :Person owl:equivalentClass :Human . :Person rdfs:comment "Represents the set of all people."^^xsd:string . :Person owl:hasKey ( :hasSSN ) . :Parent owl:equivalentClass [ rdf:type owl:Class ; owl:unionOf ( :Mother :Father ) ] . :Parent owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:someValuesFrom :Person ] . :Grandfather rdfs:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Man :Parent ) ] . :HappyPerson owl:equivalentClass [ rdf:type owl:Class ; owl:intersectionOf ( [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:allValuesFrom :HappyPerson ] [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:someValuesFrom :HappyPerson ] ) ] . :JohnsChildren owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :hasParent ; owl:hasValue :John ] . :NarcisticPerson owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty :loves ; owl:hasSelf "true"^^xsd:boolean . ] . :MyBirthdayGuests owl:equivalentClass [ rdf:type owl:Class ; owl:oneOf ( :Bill :John :Mary ) ] . :Orphan owl:equivalentClass [ rdf:type owl:Restriction ; owl:onProperty [ owl:inverseOf :hasChild ] ; owl:allValuesFrom :Dead ] . :Teenager rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onProperty :hasAge ; owl:someValuesFrom [ rdf:type rdfs:Datatype ; owl:onDatatype xsd:integer ; owl:withRestrictions ( [ xsd:minExclusive "12"^^xsd:integer ] [ xsd:maxInclusive "19"^^xsd:integer ] ) ] ] . :Man rdfs:subClassOf :Person . [] rdf:type owl:Axiom ; owl:annotatedSource :Man ; owl:annotatedProperty rdfs:subClassOf ; owl:annotatedTarget :Person ; rdfs:comment "States that every man is a person."^^xsd:string . :Adult owl:equivalentClass otherOnt:Grownup . :Father rdfs:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Man :Parent ) ] . :ChildlessPerson owl:equivalentClass [ rdf:type owl:Class ; owl:intersectionOf ( :Person [ owl:complementOf :Parent ] ) ] . :ChildlessPerson owl:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Person [ owl:complementOf [ rdf:type owl:Restriction ; owl:onProperty [ owl:inverseOf :hasParent ] ; owl:someValuesFrom owl:Thing ] ] ) ] . [] rdf:type owl:Class ; owl:intersectionOf ( [ rdf:type owl:Class ; owl:oneOf ( :Mary :Bill :Meg ) ] :Female ) ; rdfs:subClassOf [ rdf:type owl:Class ; owl:intersectionOf ( :Parent [ rdf:type owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ] [ rdf:type owl:Restriction ; owl:onProperty :hasChild ; owl:allValuesFrom :Female ] ) ] . [] rdf:type owl:AllDisjointClasses ; owl:members ( :Mother :Father :YoungChild ) . [] rdf:type owl:AllDisjointClasses ; owl:members ( :Woman :Man ) . :personAge owl:equivalentClass [ rdf:type rdfs:Datatype; owl:onDatatype xsd:integer; owl:withRestrictions ( [ xsd:minInclusive "0"^^xsd:integer ] [ xsd:maxInclusive "150"^^xsd:integer ] ) ] . :majorAge owl:equivalentClass [ rdf:type rdfs:Datatype; owl:intersectionOf ( :personAge [ rdf:type rdfs:Datatype; owl:datatypeComplementOf :minorAge ] ) ] . :toddlerAge owl:equivalentClass [ rdf:type rdfs:Datatype; owl:oneOf ( "1"^^xsd:integer "2"^^xsd:integer ) ] . :Mary rdf:type :Person . :Mary rdf:type :Woman . :Mary owl:sameAs otherOnt:MaryBrown . :James owl:sameAs :Jim . :Jack rdf:type [ rdf:type owl:Class ; owl:intersectionOf ( :Person [ rdf:type owl:Class ; owl:complementOf :Parent ] ) ] . :John owl:sameAs otherOnt:JohnBrown . :John rdf:type owl:NamedIndividual . :John rdf:type :Father . :John :hasWife :Mary . :John owl:differentFrom :Bill . :John :hasAge 51 . :John rdf:type [ rdf:type owl:Restriction ; owl:maxQualifiedCardinality "4"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ; owl:onClass :Parent ] . :John rdf:type [ rdf:type owl:Restriction ; owl:minQualifiedCardinality "2"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ; owl:onClass :Parent ] . :John rdf:type [ rdf:type owl:Restriction ; owl:qualifiedCardinality "3"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ; owl:onClass :Parent ] . :John rdf:type [ rdf:type owl:Restriction ; owl:cardinality "5"^^xsd:nonNegativeInteger ; owl:onProperty :hasChild ] . :Father rdf:type :SocialRole . [] rdf:type owl:NegativePropertyAssertion ; owl:sourceIndividual :Bill ; owl:assertionProperty :hasWife ; owl:targetIndividual :Mary . [] rdf:type owl:NegativePropertyAssertion ; owl:sourceIndividual :Bill ; owl:assertionProperty :hasDaughter ; owl:targetIndividual :Susan . [] rdf:type owl:NegativePropertyAssertion ; owl:sourceIndividual :Jack ; owl:assertionProperty :hasAge ; owl:targetValue 53 .
Prefix: : <http://example.com/owl/families/> Prefix: xsd: <http://www.w3.org/2001/XMLSchema#>Prefix: owl: <http://www.w3.org/2002/07/owl#> Prefix: otherOnt: <http://example.org/otherOntologies/families/> Ontology: <http://example.com/owl/families> Import: <http://example.org/otherOntologies/families.owl> ObjectProperty: hasWife SubPropertyOf: hasSpouse Domain: Man Range: Woman ObjectProperty: hasParent InverseOf: hasChild ObjectProperty: hasSpouse Characteristics: Symmetric ObjectProperty: hasChild Characteristics: Asymmetric ObjectProperty: hasRelative Characteristics: Reflexive ObjectProperty: parentOf Characteristics: IrreflexiveObjectProperty: hasHusband Characteristics: Functional Characteristics: InverseFunctional ObjectProperty: hasAncestor Characteristics: Transitive ObjectProperty: hasGrandparent SubPropertyChain: hasParent o hasParent ObjectProperty: hasUncle SubPropertyChain: hasFather o hasBrother ObjectProperty: hasFather SubPropertyOf: hasParent ObjectProperty: hasBrother ObjectProperty: hasDaughter ObjectProperty: loves DisjointProperties: hasParent, hasSpouse DisjointProperties: hasSon, hasDaughter EquivalentProperties: hasChild, otherOnt:child EquivalentProperties: hasAge, otherOnt:age DataProperty: hasAge Domain: Person Range: xsd:nonNegativeInteger DataProperty: hasHusband Characteristics: Functional DataProperty: hasSSN Datatype: personAge EquivalentTo: integer[<= 0 , >= 150] Datatype: majorAge EquivalentTo: personAge and not minorAge Datatype: toddlerAge EquivalentTo: { 1, 2 } Datatype: minorAge Class: Woman SubClassOf: Person Class: Mother SubClassOf: Woman EquivalentTo: Woman and Parent Class: Person Annotations: rdfs:comment "Represents the set of all people." EquivalentTo: Human HasKey: hasSSN Class: Parent EquivalentTo: hasChild some Person EquivalentTo: Mother or Father Class: ChildlessPerson EquivalentTo: Person and not Parent SubClassOf: Person and not inverse hasParent some owl:Thing Class: Grandfather SubClassOf: Man and Parent Class: HappyPerson EquivalentTo: hasChild only Happy and hasChild some Happy Class: JohnsChildren EquivalentTo: hasParent value John Class: NarcisticPerson EquivalentTo: loves Self Class: Orphan EquivalentTo: inverse hasChild only Dead Class: Teenager SubClassOf: hasAge some integer[<= 13 , >= 19] Class: Man SubClassOf: Annotations: rdfs:comment "States that every man is a person." Person Class: MyBirthdayGuests EquivalentTo: { Bill, John, Mary } Class: Father SubClassOf: Man and Parent Class: X SubClassOf: Parent and hasChild max 1 and hasChild only Female EquivalentTo: {Mary, Bill, Meg} and Female Class: Dead Class: Father Class: Female Class: Happy Class: Human Class: SocialRole Class: YoungChild DisjointClasses: Mother, Father, YoungChild DisjointClasses: Woman, Man EquivalentClasses: Adult, otherOnt:Grownup Individual: Mary Types: Person Types: Woman Individual: Jack Types: Person and not Parent Individual: John Types: Father Types: hasChild max 4 Parent Types: hasChild min 2 Parent Types: hasChild exactly 3 Parent Types: hasChild exactly 5 Facts: hasAge "51"^^xsd:integer Facts: hasWife Mary DifferentFrom: Bill Individual: Bill Facts: not hasWife Mary Facts: not hasDaughter Susan Individual: James SameAs: Jim Individual: Jack Facts: not hasAge "53"^^xsd:integer Individual: Father Types: SocialRole Individual: Meg Individual: Susan Individual: Jim Individual: otherOnt:JohnBrownIndividual: otherOnt:MaryBrown SameIndividual: John, otherOnt:JohnBrown SameIndividual: Mary, otherOnt:MaryBrown
<!DOCTYPE Ontology [ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > ]> <Ontology xml:base="http://example.com/owl/families/" ontologyIRI="http://example.com/owl/families" xmlns="http://www.w3.org/2002/07/owl#"> <Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/> <Prefix name="otherOnt" IRI="http://example.org/otherOntologies/families/"/> <Import>http://example.org/otherOntologies/families.owl</Import> <Declaration> <NamedIndividual IRI="John"/> </Declaration> <Declaration> <NamedIndividual IRI="Mary"/> </Declaration> <Declaration> <NamedIndividual IRI="Jim"/> </Declaration> <Declaration> <NamedIndividual IRI="James"/> </Declaration> <Declaration> <NamedIndividual IRI="Jack"/> </Declaration> <Declaration> <NamedIndividual IRI="Bill"/> </Declaration> <Declaration> <NamedIndividual IRI="Susan"/> </Declaration> <Declaration> <NamedIndividual IRI="Meg"/> </Declaration> <Declaration> <Class IRI="Person"/> </Declaration> <AnnotationAssertion> <AnnotationProperty IRI="&rdfs;comment"/> <IRI>Person</IRI> <Literal>Represents the set of all people.</Literal> </AnnotationAssertion> <Declaration> <Class IRI="Woman"/> </Declaration> <Declaration> <Class IRI="Parent"/> </Declaration> <Declaration> <Class IRI="Father"/> </Declaration> <Declaration> <Class IRI="Mother"/> </Declaration> <Declaration> <Class IRI="SocialRole"/> </Declaration> <Declaration> <Class IRI="Man"/> </Declaration> <Declaration> <Class IRI="Teenager"/> </Declaration> <Declaration> <Class IRI="ChildlessPerson"/> </Declaration> <Declaration> <Class IRI="Human"/> </Declaration> <Declaration> <Class IRI="Female"/> </Declaration> <Declaration> <Class IRI="HappyPerson"/> </Declaration> <Declaration> <Class IRI="JohnsChildren"/> </Declaration> <Declaration> <Class IRI="NarcisticPerson"/> </Declaration> <Declaration> <Class IRI="MyBirthdayGuests"/> </Declaration> <Declaration> <Class IRI="Dead"/> </Declaration> <Declaration> <Class IRI="Orphan"/> </Declaration> <Declaration> <Class IRI="Adult"/> </Declaration> <Declaration> <Class IRI="YoungChild"/> </Declaration> <Declaration> <ObjectProperty IRI="hasWife"/> </Declaration> <Declaration> <ObjectProperty IRI="hasChild"/> </Declaration> <Declaration> <ObjectProperty IRI="hasDaughter"/> </Declaration> <Declaration> <ObjectProperty IRI="loves"/> </Declaration> <Declaration> <ObjectProperty IRI="hasSpouse"/> </Declaration> <Declaration> <ObjectProperty IRI="hasGrandparent"/> </Declaration> <Declaration> <ObjectProperty IRI="hasParent"/> </Declaration> <Declaration> <ObjectProperty IRI="hasBrother"/> </Declaration> <Declaration> <ObjectProperty IRI="hasUncle"/> </Declaration> <Declaration> <ObjectProperty IRI="hasSon"/> </Declaration> <Declaration> <ObjectProperty IRI="hasAncestor"/> </Declaration> <Declaration> <ObjectProperty IRI="hasHusband"/> </Declaration> <Declaration> <DataProperty IRI="hasAge"/> </Declaration> <Declaration> <DataProperty IRI="hasSSN"/> </Declaration> <Declaration> <Datatype IRI="personAge"/> </Declaration> <Declaration> <Datatype IRI="majorAge"/> </Declaration> <Declaration> <Datatype IRI="toddlerAge"/> </Declaration> <DatatypeDefinition> <Datatype IRI="personAge"/> <DatatypeRestriction> <Datatype IRI="&xsd;integer"/> <FacetRestriction facet="&xsd;minInclusive"> <Literal datatypeIRI="&xsd;integer">0</Literal> </FacetRestriction> <FacetRestriction facet="&xsd;maxInclusive"> <Literal datatypeIRI="&xsd;integer">150</Literal> </FacetRestriction> </DatatypeRestriction> </DatatypeDefinition> <DatatypeDefinition> <Datatype IRI="majorAge"/> <DataIntersectionOf> <Datatype IRI="personAge"/> <DataComplementOf> <Datatype IRI="minorAge"/> </DataComplementOf> </DataIntersectionOf> </DatatypeDefinition> <DatatypeDefinition> <Datatype IRI="toddlerAge"/> <DataOneOf> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">1</Literal> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">2</Literal> </DataOneOf> </DatatypeDefinition> <SymmetricObjectProperty> <ObjectProperty IRI="hasSpouse"/> </SymmetricObjectProperty> <AsymmetricObjectProperty> <ObjectProperty IRI="hasChild"/> </AsymmetricObjectProperty> <DisjointObjectProperties> <ObjectProperty IRI="hasParent"/> <ObjectProperty IRI="hasSpouse"/> </DisjointObjectProperties> <ReflexiveObjectProperty> <ObjectProperty IRI="hasRelative"/> </ReflexiveObjectProperty> <IrreflexiveObjectProperty> <ObjectProperty IRI="parentOf"/> </IrreflexiveObjectProperty> <FunctionalObjectProperty> <ObjectProperty IRI="hasHusband"/> </FunctionalObjectProperty> <InverseFunctionalObjectProperty> <ObjectProperty IRI="hasHusband"/> </InverseFunctionalObjectProperty> <TransitiveObjectProperty> <ObjectProperty IRI="hasAncestor"/> </TransitiveObjectProperty> <ObjectPropertyDomain> <ObjectProperty IRI="hasWife"/> <Class IRI="Man"/> </ObjectPropertyDomain> <ObjectPropertyRange> <ObjectProperty IRI="hasWife"/> <Class IRI="Woman"/> </ObjectPropertyRange> <InverseObjectProperties> <ObjectProperty IRI="hasParent"/> <ObjectProperty IRI="hasChild"/> </InverseObjectProperties> <DisjointObjectProperties> <ObjectProperty IRI="hasSon"/> <ObjectProperty IRI="hasDaughter"/> </DisjointObjectProperties> <EquivalentObjectProperties> <ObjectProperty IRI="hasChild"/> <ObjectProperty abbreviatedIRI="otherOnt:child"/> </EquivalentObjectProperties> <SubObjectPropertyOf> <ObjectProperty IRI="hasWife"/> <ObjectProperty IRI="hasSpouse"/> </SubObjectPropertyOf> <SubObjectPropertyOf> <ObjectProperty IRI="hasFather"/> <ObjectProperty IRI="hasParent"/> </SubObjectPropertyOf> <SubObjectPropertyOf> <ObjectPropertyChain> <ObjectProperty IRI="hasParent"/> <ObjectProperty IRI="hasParent"/> </ObjectPropertyChain> <ObjectProperty IRI="hasGrandparent"/> </SubObjectPropertyOf> <SubObjectPropertyOf> <ObjectPropertyChain> <ObjectProperty IRI="hasFather"/> <ObjectProperty IRI="hasBrother"/> </ObjectPropertyChain> <ObjectProperty IRI="hasUncle"/> </SubObjectPropertyOf> <SubObjectPropertyOf> <ObjectPropertyChain> <ObjectProperty IRI="hasFather"/> <ObjectProperty IRI="hasBrother"/> </ObjectPropertyChain> <ObjectProperty IRI="hasUncle"/> </SubObjectPropertyOf> <HasKey> <Class IRI="Person"/> <ObjectProperty IRI="hasSSN"/> </HasKey> <DataPropertyDomain> <DataProperty IRI="hasAge"/> <Class IRI="Person"/> </DataPropertyDomain> <DataPropertyRange> <DataProperty IRI="hasAge"/> <Datatype IRI="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> </DataPropertyRange> <FunctionalDataProperty> <DataProperty IRI="hasHusband"/> </FunctionalDataProperty> <EquivalentDataProperties> <DataProperty IRI="hasAge"/> <DataProperty abbreviatedIRI="otherOnt:age"/> </EquivalentDataProperties> <SubClassOf> <Class IRI="Woman"/> <Class IRI="Person"/> </SubClassOf> <SubClassOf> <Class IRI="Mother"/> <Class IRI="Woman"/> </SubClassOf> <SubClassOf> <Class IRI="Grandfather"/> <ObjectIntersectionOf> <Class IRI="Man"/> <Class IRI="Parent"/> </ObjectIntersectionOf> </SubClassOf> <SubClassOf> <Class IRI="Father"/> <ObjectIntersectionOf> <Class IRI="Man"/> <Class IRI="Parent"/> </ObjectIntersectionOf> </SubClassOf> <SubClassOf> <Class IRI="ChildlessPerson"/> <ObjectIntersectionOf> <Class IRI="Person"/> <ObjectComplementOf> <ObjectSomeValuesFrom> <ObjectInverseOf> <ObjectProperty IRI="hasParent"/> </ObjectInverseOf> <Class abbreviatedIRI="owl:Thing"/> </ObjectSomeValuesFrom> </ObjectComplementOf> </ObjectIntersectionOf> </SubClassOf> <SubClassOf> <ObjectIntersectionOf> <ObjectOneOf> <NamedIndividual IRI="Mary"/> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="Meg"/> </ObjectOneOf> <Class IRI="Female"/> </ObjectIntersectionOf> <ObjectIntersectionOf> <Class IRI="Parent"/> <ObjectMaxCardinality cardinality="1"> <ObjectProperty IRI="hasChild"/> </ObjectMaxCardinality> <ObjectAllValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="Female"/> </ObjectAllValuesFrom> </ObjectIntersectionOf> </SubClassOf> <SubClassOf> <Class IRI="Teenager"/> <DataSomeValuesFrom> <DataProperty IRI="hasAge"/> <DatatypeRestriction> <Datatype IRI="&xsd;integer"/> <FacetRestriction facet="&xsd;minExclusive"> <Literal datatypeIRI="&xsd;integer">12</Literal> </FacetRestriction> <FacetRestriction facet="&xsd;maxInclusive"> <Literal datatypeIRI="&xsd;integer">19</Literal> </FacetRestriction> </DatatypeRestriction> </DataSomeValuesFrom> </SubClassOf> <SubClassOf> <Annotation> <AnnotationProperty IRI="&rdfs;comment"/> <Literal datatypeIRI="xsd:string">"States that every man is a person."</Literal> </Annotation> <Class IRI="Man"/> <Class IRI="Person"/> </SubClassOf> <EquivalentClasses> <Class IRI="HappyPerson"/> <ObjectIntersectionOf> <ObjectAllValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="HappyPerson"/> </ObjectAllValuesFrom> <ObjectSomeValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="HappyPerson"/> </ObjectSomeValuesFrom> </ObjectIntersectionOf> </EquivalentClasses> <EquivalentClasses> <Class IRI="JohnsChildren"/> <ObjectHasValue> <ObjectProperty IRI="hasParent"/> <NamedIndividual IRI="John"/> </ObjectHasValue> </EquivalentClasses> <EquivalentClasses> <Class IRI="NarcisticPerson"/> <ObjectHasSelf> <ObjectProperty IRI="loves"/> </ObjectHasSelf> </EquivalentClasses> <EquivalentClasses> <Class IRI="Orphan"/> <ObjectAllValuesFrom> <ObjectInverseOf> <ObjectProperty IRI="hasChild"/> </ObjectInverseOf> <Class IRI="Dead"/> </ObjectAllValuesFrom> </EquivalentClasses> <EquivalentClasses> <Class IRI="MyBirthdayGuests"/> <ObjectOneOf> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="John"/> <NamedIndividual IRI="Mary"/> </ObjectOneOf> </EquivalentClasses> <EquivalentClasses> <Class IRI="Adult"/> <Class abbreviatedIRI="otherOnt:Grownup"/> </EquivalentClasses> <EquivalentClasses> <Class IRI="Parent"/> <ObjectSomeValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="Person"/> </ObjectSomeValuesFrom> </EquivalentClasses> <EquivalentClasses> <Class IRI="Parent"/> <ObjectSomeValuesFrom> <ObjectProperty IRI="hasChild"/> <Class IRI="Person"/> </ObjectSomeValuesFrom> </EquivalentClasses> <EquivalentClasses> <Class IRI="Person"/> <Class IRI="Human"/> </EquivalentClasses> <EquivalentClasses> <Class IRI="Mother"/> <ObjectIntersectionOf> <Class IRI="Woman"/> <Class IRI="Parent"/> </ObjectIntersectionOf> </EquivalentClasses> <EquivalentClasses> <Class IRI="Parent"/> <ObjectUnionOf> <Class IRI="Mother"/> <Class IRI="Father"/> </ObjectUnionOf> </EquivalentClasses> <EquivalentClasses> <Class IRI="ChildlessPerson"/> <ObjectIntersectionOf> <Class IRI="Person"/> <ObjectComplementOf> <Class IRI="Parent"/> </ObjectComplementOf> </ObjectIntersectionOf> </EquivalentClasses> <DisjointClasses> <Class IRI="Woman"/> <Class IRI="Man"/> </DisjointClasses> <DisjointClasses> <Class IRI="Father"/> <Class IRI="Mother"/> <Class IRI="YoungChild"/> </DisjointClasses> <DifferentIndividuals> <NamedIndividual IRI="John"/> <NamedIndividual IRI="Bill"/> </DifferentIndividuals> <SameIndividual> <NamedIndividual IRI="James"/> <NamedIndividual IRI="Jim"/> </SameIndividual> <SameIndividual> <NamedIndividual IRI="John"/> <NamedIndividual abbreviatedIRI="otherOnt:JohnBrown"/> </SameIndividual> <SameIndividual> <NamedIndividual IRI="Mary"/> <NamedIndividual abbreviatedIRI="otherOnt:MaryBrown"/> </SameIndividual> <ObjectPropertyAssertion> <ObjectProperty IRI="hasWife"/> <NamedIndividual IRI="John"/> <NamedIndividual IRI="Mary"/> </ObjectPropertyAssertion> <DataPropertyAssertion> <DataProperty IRI="hasAge"/> <NamedIndividual IRI="John"/> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">51</Literal> </DataPropertyAssertion> <ClassAssertion> <Class IRI="Person"/> <NamedIndividual IRI="Mary"/> </ClassAssertion> <ClassAssertion> <Class IRI="Woman"/> <NamedIndividual IRI="Mary"/> </ClassAssertion> <ClassAssertion> <ObjectIntersectionOf> <Class IRI="Person"/> <ObjectComplementOf> <Class IRI="Parent"/> </ObjectComplementOf> </ObjectIntersectionOf> <NamedIndividual IRI="Jack"/> </ClassAssertion> <ClassAssertion> <ObjectMaxCardinality cardinality="4"> <ObjectProperty IRI="hasChild"/> <Class IRI="Parent"/> </ObjectMaxCardinality> <NamedIndividual IRI="John"/> </ClassAssertion> <ClassAssertion> <ObjectMinCardinality cardinality="2"> <ObjectProperty IRI="hasChild"/> <Class IRI="Parent"/> </ObjectMinCardinality> <NamedIndividual IRI="John"/> </ClassAssertion> <ClassAssertion> <ObjectExactCardinality cardinality="3"> <ObjectProperty IRI="hasChild"/> <Class IRI="Parent"/> </ObjectExactCardinality> <NamedIndividual IRI="John"/> </ClassAssertion> <ClassAssertion> <ObjectExactCardinality cardinality="5"> <ObjectProperty IRI="hasChild"/> </ObjectExactCardinality> <NamedIndividual IRI="John"/> </ClassAssertion> <ClassAssertion> <Class IRI="Father"/> <NamedIndividual IRI="John"/> </ClassAssertion> <ClassAssertion> <Class IRI="SocialRole"/> <NamedIndividual IRI="Father"/> </ClassAssertion> <NegativeObjectPropertyAssertion> <ObjectProperty IRI="hasWife"/> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="Mary"/> </NegativeObjectPropertyAssertion> <NegativeDataPropertyAssertion> <DataProperty IRI="hasAge"/> <NamedIndividual IRI="Jack"/> <Literal datatypeIRI="http://www.w3.org/2001/XMLSchema#integer">53</Literal> </NegativeDataPropertyAssertion> <NegativeObjectPropertyAssertion> <ObjectProperty IRI="hasDaughter"/> <NamedIndividual IRI="Bill"/> <NamedIndividual IRI="Susan"/> </NegativeObjectPropertyAssertion> </Ontology>14 ä»é²: 夿´å±¥æ´ï¼åèæ å ±ï¼ 14.1 å§åæ¡ä»¥å¾ã®å¤æ´
ãã®é ã¯ã2009å¹´9æ22æ¥ã®å§åæ¡ä»¥å¾ã®ãã®ããã¥ã¡ã³ãã¸ã®å¤æ´ãã¾ã¨ãã¦ãã¾ãã
ãã®é ã§ã¯ã2009å¹´6æ11æ¥ã®æçµèæ¡ä»¥å¾ã®ãã®ããã¥ã¡ã³ãã¸ã®å¤æ´ãã¾ã¨ãã¦ãã¾ãã
OWL 2ã®éçºã®åºçºç¹ã¯ãOWL 1.1ã¡ã³ãã¼ã®ææ¡ã§ãããèªèº«ã¯ãã¦ã¼ã¶ã¨éçºè ã®ãã£ã¼ãããã¯ã®çµæã§ãããç¹ã«ãOWLçµé¨ã¨èª¬æï¼OWLEDï¼ã¯ã¼ã¯ã·ã§ããã»ã·ãªã¼ãºã®éã«éã¾ã£ãæ å ±ã§ããã¯ã¼ãã³ã°ã°ã«ã¼ãã¯ãWebOntã¯ã¼ãã³ã°ã«ã¼ãã§å éãããã¦ãã課é¡ã«ã¤ãã¦ãæ¤è¨ãã¾ããã
ãã®ããã¥ã¡ã³ãã¯ãOWLã¯ã¼ãã³ã°ã°ã«ã¼ãã«ãã£ã¦è£½ä½ããï¼ä¸è¨ãåç §ï¼ãã³ã³ãã³ãã¯ã¯ã¼ãã³ã°ã°ã«ã¼ãå ¨ä½ã®åºç¯å²ã«ãããè°è«ãåæ ãã¦ãã¾ããç·¨éè ã¯ãå¾¹åºçãªã¬ãã¥ã¼ã¨æçãªã³ã¡ã³ãã«é¢ããJie Bao (RPI)ãMichel Dumontier (Carleton University)ã Christine Goldbreich (Université de Versailles St-Quentin and LIRMM)ãHenson Graves (Lockheed Martin)ãIvan Herman (W3C/ERCIM)ãRinke Hoekstra (University of Amsterdam)ãDoug Lenat (Cycorp)ãDeborah L. McGuinness (RPI)ãAlan Rector (University of Manchester)ãAlan Ruttenberg (Science Commons)ãUli Sattler (University of Manchester)ãMichael Schneider (FZI)ã¨Mike Smith (Clark & Parsia)ã«ç¹ã«è¬æã表ãã¾ãã
ãã®ããã¥ã¡ã³ãã®å ¬è¡¨æç¹ã®OWLã¯ã¼ãã³ã°ã°ã«ã¼ãã®ä¼åã®æ£è¦åºå¸è ã¯æ¬¡ã®éãã§ãããJie Bao (RPI)ãDiego Calvanese (Free University of Bozen-Bolzano)ãBernardo Cuenca Grau (Oxford University Computing Laboratory)ãMartin Dzbor (Open University)ãAchille Fokoue (IBM Corporation)ãChristine Golbreich (Université de Versailles St-Quentin and LIRMM)ãSandro Hawke (W3C/MIT)ãIvan Herman (W3C/ERCIM)ãRinke Hoekstra (University of Amsterdam)ãIan Horrocks (Oxford University Computing Laboratory)ãElisa Kendall (Sandpiper Software)ãMarkus Krötzsch (FZI)ãCarsten Lutz (Universität Bremen)ãDeborah L. McGuinness (RPI)ãBoris Motik (Oxford University Computing Laboratory)ãJeff Pan (University of Aberdeen)ãBijan Parsia (University of Manchester)ãPeter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent)ãSebastian Rudolph (FZI)ãAlan Ruttenberg (Science Commons)ãUli Sattler (University of Manchester)ãMichael Schneider (FZI)ãMike Smith (Clark & Parsia)ãEvan Wallace (NIST)ãZhe Wu (Oracle Corporation)ã¨Antoine Zimmermann (DERI Galway)ãã¯ã¼ãã³ã°ã°ã«ã¼ãã®å ã®ã¡ã³ãã¼ã§ããJeremy CarrollãJim HendlerãVipul Kashyapã«ãæè¬ç³ãä¸ãã¾ãã
16 åèæç®RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3