SlideShare a Scribd company logo
1 of 72
Download to read offline
セマンティック・ウェブのためのRDF/OWL(
入門(読書会
#roman'cweb
6章"後半
2014.&8.&8
—"@shiraco
5章と6章前半の復習
• OWL%の3つのサブ言語%(6.1.2&p.87)
• クラスとプロパティ%(5.1.1,&5.1.2&p.68)
• クラスとクラスの外延%(5.2.4&p.74)
• プロパティの定義域と値域%(5.3.2&p78)
復習:"OWL"の3つのサブ言語"(6.1.2&p.87)
• OWL%DL
• 厳密推論を行うシステムのためのオントロジーが記述可能。
• OWL%Lite
• OWL%DL/OWL%Fullほど語彙を扱えないが、容易に実装可能。
• OWL%Full
• OWL%の語彙とRDFの柔軟性を最大限利用可。最も表現力が
あるが、計算の完全性、決定可能性が保証されない。
復習:"クラスとプロパティ"(5.1.1,&5.1.2&p.68)
• プロパティ
• プロパティを用いてリソースの関係を示す。
• クラス
• プロパティどうしの関係や、同じ性質のリソースをグループ
化する。
復習:"クラスとクラスの外延"(5.2.4&p.74)
インスタンスの集合は、リソースとしてのクラスと区別するため
に、そのクラスの外延(class&exten+on)と呼ばれます。
復習:"プロパティの定義域と値域"(5.3.2&p78)
プロパティの主語となるクラスを定義域(ドメイン)、目的語となる
クラスを値域(レンジ)と呼び、それぞれrdfs:domain、rdfs:range/と
いうプロパティを用いて表します。
補足:"RDF"グラフの視覚化
資料中のRDFグラフは以下のサイトで描画
• The%Web%KANZAKI%-%ARC2によるRDFグラフの視覚化
• h3p://www.kanzaki.com/works/2009/pub/graph-draw
6.6#OWLのプロパティ
6.6.1$OWLの基本的なプロパティ公理
OWL$のプロパティには、個体同士の関係を記述する個体値型プ
ロパティ(ObjectProperty)と、個体をデータ値と関係づけるデータ
値型プロパティ(DatatypeProperty)がある。
さらに、オントロジーの記述に用いる特殊なタイプとして注釈型
プロパティとオントロジープロパティがある。
プロパティの公理は、以下の4つのタイプのいずれかを示すトリ
プルを持ち、RDFスキーマのrdfs:domain、rdfs:range0で定義域、
値域を加えて記述できる。
1. owl:ObjectProperty
2. owl:DatatypeProperty
3. owl:Annota7onProperty
4. owl:OntologyProperty
1. owl:ObjectProperty1個体値型プロパティ
• 個体同士の関係を記述
2. owl:DatatypeProperty1データ値型プロパティ
• 個体とデータ値との関係を記述
3. owl:Annota9onProperty
• オントロジーの補足情報を記述
4. owl:OntologyProperty
• オントロジー自身の管理情報をヘッダに記述
1.#owl:ObjectProperty#個体値型プロパティ
[例6.26]&<Lite>&hasMember&は、定義域「音楽グループ」、値域「ミュージシャン」を持つ個体値型プロ
パティである。
<owl:ObjectProperty rdf:ID="hasMember">
<rdfs:domain rdf:resource="#MusicalGroup"/>
<rdfs:range rdf:resource="#Musician"/>
</owl:ObjectProperty>
1.#owl:ObjectProperty#個体値型プロパティ
[例6.26]&<Lite>&hasMember&は、定義域「音楽グループ」、値域「ミュージシャン」を持つ個体値型プロ
パティである。
1.#owl:ObjectProperty#個体値型プロパティ
[例6.27]'<DL/Full>'livesWith'は、値域「人」、「動物」、「ロボット」を持つデータ値型プロパティであ
る。
<owl:ObjectProperty rdf:ID="livesWith">
<rdfs:range>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Person"/>
<owl:Class rdf:about="#Animal"/>
<owl:Class rdf:about="#Robot"/>
</owl:unionOf>
</owl:Class>
</rdfs:range>
</owl:ObjectProperty>
1.#owl:ObjectProperty#個体値型プロパティ
[例6.27]'<DL/Full>'livesWith'は、値域「人」、「動物」、「ロボット」を持つデータ値型プロパティであ
る。
6.6.2$他のプロパティとの関係による表現
個体値型プロパティとデータ値型プロパティは、階層関係
(rdfs:subPropertyOf)、同等関係(owl:equivalentProperty)、反対関
係(owl:inverseOf)といった、他のプロパテイとの関係によって公
理を記述することができる。
1. owl:equivalentProperty3同等関係
• 2つのプロパティが同一の外延をもつ。
• 2つのプロパティがお互いのサブプロパティである。
2. owl:inverseOf3反対関係
• 2つのプロパティが反対の関係にある。
• P(x,3y)3ならば3P(y,3x)3の関係が成り立つ。
2.#owl:inverseOf#反対関係
[例6.29]'チェンバーアンサンブルである「アンサンブル花火」はサトルを'hasMember'している。(サト
ルは「アンサンブル花火」の'isMember'でもある。)
<owl:ObjectProperty rdf:ID="hasMember">
<owl:inverseOf rdf:resource="#isMemberOf"/>
</owl:ObjectProperty>
<ex:ChamberEnsemble rdf:about="#EnsembleHanabi">
<ex:hasMember rdf:resource="#Satoru"/>
</ex:ChamberEnsemble>
<ex:Person rdf:about="#Satoru">
<ex:isMemberOf rdf:resource="#EnsembleHanabi"/>
</ex:Person>
2.#owl:inverseOf#反対関係
[例6.29]'チェンバーアンサンブルである「アンサンブル花火」はサトルを'hasMember'している。(サト
ルは「アンサンブル花火」の'isMember'でもある。)
6.6.3$プロパティ出現回数のグローバルな制約
プロパティの値が一つに定まる関数型プロパティ
(owl:Func*onalProperty)と、その逆にプロパティの値から主語と
なる個体が定まる逆関数型プロパティ
(owl:InverseFunc*onalProperty)は、出現回数のグローバルな制約
を持ったプロパティである。
1. owl:Func+onalProperty3関数型プロパティ
• 全てのx3について、P(x,3y)3のy3が1つに定まる。
• 出現回数回数が03もしくは13という制約と同等である。
2. owl:InverseFunc+onalProperty3逆関数型プロパティ
• 全てのy3について、P(x,3y)3のx3が1つに定まる。
• y3に1つのx3が対応するという逆関数の関係にある。
1.#owl:Func,onalProperty#関数型プロパティ
[例6.30]'音楽グループにおいて、principalPlayer'となるミュージシャンは1人に定まる。
<owl:ObjectProperty rdf:ID="principalPlayer">
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain rdf:resource="#MusicalGroup"/>
<rdfs:range rdf:resource="#Musician"/>
</owl:ObjectProperty>
1.#owl:Func,onalProperty#関数型プロパティ
[例6.30]'音楽グループにおいて、principalPlayer'となるミュージシャンは1人に定まる。
1.#owl:Func,onalProperty#関数型プロパティ
[例6.30]'音楽グループにおいて、principalPlayer'となるミュージシャンは1人に定まる。
<rdf:Description rdf:ID="EnsembleOctobas">
<ex:principalPlayer rdf:resource="#MasahideKanzaki"/>
<ex:principalPlayer rdf:resource="#masaka"/>
</rdf:Description>
1.#owl:Func,onalProperty#関数型プロパティ
[例6.30]'音楽グループにおいて、principalPlayer'となるミュージシャンは1人に定まる。
つまり、同じ音楽グループで異なる名前の!principalPlayer!を持つデ
ータがあるとすると、2人は同一人物であると推論できる。
2.#owl:InverseFunc1onalProperty#逆関数型プロパティ
[例6.31]'学生は学籍番号を持ち、学籍番号が分かれば学生を特定することができる。
<owl:InverseFunctionalProperty rdf:ID="hasStudentID">
<rdfs:domain rdf:resource="#Student"/>
<rdfs:range rdf:resource="#StudentID"/>
</owl:InverseFunctionalProperty>
※!関数型プロパティと異なり、逆関数型プロパティは定義により個体値型プロパティとなるので直接型
付ノード要素として記述できる。
2.#owl:InverseFunc1onalProperty#逆関数型プロパティ
[例6.31]'学生は学籍番号を持ち、学籍番号が分かれば学生を特定することができる。
2.#owl:InverseFunc1onalProperty#逆関数型プロパティ
[例6.31]'学生は学籍番号を持ち、学籍番号が分かれば学生を特定することができる。
<rdf:Description>
<ex:hasStudentID rdf:resource="exstudentid:10108063"/>
</rdf:Description>
<rdf:Description>
<ex:hasStudentID rdf:resource="exstudentid:10108063"/>
</rdf:Description>
※!関数型プロパティと異なり、逆関数型プロパティは定義により個体値型プロパティとなるので直接型
付ノード要素として記述できる。
2.#owl:InverseFunc1onalProperty#逆関数型プロパティ
[例6.31]'学生は学籍番号を持ち、学籍番号が分かれば学生を特定することができる。
つまり、別々に記述された同じ学籍番号の学生は同一人物である
と推論できる。
6.6.4$プロパティの論理的な性質
プロパティが推移型プロパティ(owl:Transi,veProperty)や対称型プ
ロパティ(owl:SymmetricProperty)であることを示しておくこと
で、この関係を利用した推論が行うことができる。
1. owl:Transi-veProperty4推移型プロパティ
• P(x,4y)4かつ4P(y,4z)4ならば4P(x,4z)
• 推移的
2. owl:SymmetricProperty4対称型プロパティ
• P(x,4y)4ならば4P(y,4x)
• 対称的
1.#owl:Transi.veProperty#推移型プロパティ
[例6.33]&subSec'onOf&は組織と組織の間の関係における推移型プロパティである。
<owl:TransitiveProperty rdf:ID="subSectionOf">
<rdfs:domain rdf:resource="#Organization"/>
<rdfs:range rdf:resource="#Organization"/>
</owl:TransitiveProperty>
1.#owl:Transi.veProperty#推移型プロパティ
[例6.33]&subSec'onOf&は組織と組織の間の階層関係における推移型プロパティである。
1.#owl:Transi.veProperty#推移型プロパティ
[例6.33]&subSec'onOf&は組織と組織の間の階層関係における推移型プロパティである。
subSec'onOf!が推移型プロパティであれば、報道課が広報部のサ
ブセクションで、広報部がコミュニケーション本部のサブセクシ
ョンであるとすると、報道課がコミュニケーション本部のサブセ
クションであることが推論できる。
2.#owl:SymmetricProperty#対称型プロパティ
[例6.34]'livesWithPerson'は人物と人物の間の関係における対照型プロパティである。
<owl:SymmetricProperty rdf:ID="livesWithPerson">
<rdfs:domain rdf:resource="#Person"/>
<rdfs:range rdf:resource="#Person"/>
</owl:SymmetricProperty>
2.#owl:SymmetricProperty#対称型プロパティ
[例6.34]'livesWithPerson'は人物と人物の間の関係における対照型プロパティである。
2.#owl:SymmetricProperty#対称型プロパティ
[例6.34]'livesWithPerson'は人物と人物の間の関係における対照型プロパティである。
livesWithPerson!が対称型プロパティであれば、明示的に記述され
ていなくても、逆の関係も導かれる。
6.7$個体に関する事実の記述
6.7.1%所属クラスとプロパティ値による事実
• 個体(Individual)
• クラスの外延のメンバーを個体と呼ぶ。
• 事実(fact)
• 個体に関する公理を事実と呼ぶ。
[例6.35]'HanabiSQ'で識別されるStringQuartet'クラスの個体は、花火弦楽四重奏団という名前で、サト
ル、ツトム、フレッド、ロックの4人の奏者で構成される。結成は2000年1月1日で、風のホールを本拠
地としている。
<ex:StringQuarteret rdf:ID="HanabiSQ">
<ex:name>花火弦楽四重奏団</ex:name>
<ex:hasMember rdf:resource="#Satoru"/>
<ex:hasMember rdf:resource="#Tutomu"/>
<ex:hasMember rdf:resource="#Fred"/>
<ex:hasMember rdf:resource="#Rock"/>
<ex:founded rdf:datatype="&xsd;date">2000-01-01</ex:founded>
<ex:residentHall rdf:resource="#Kaze-no-Hall"/>
</ex:StringQuarteret>
[例6.35]'HanabiSQ'で識別されるStringQuartet'クラスの個体は、花火弦楽四重奏団という名前で、サト
ル、ツトム、フレッド、ロックの4人の奏者で構成される。結成は2000年1月1日で、風のホールを本拠
地としている。
[例6.37]'学生は学籍番号を持ち、専攻を持っている。
<ex:Student>
<ex:hasStudentID rdf:resource="http://example.org/studentid/10108068"/>
<ex:hasMajor rdf:resource="http://example.org/major/LibraryAndInfomationScience"/>
</ex:Student>
[例6.37]'学生は学籍番号を持ち、専攻を持っている。
6.7.2%個体の識別による事実
Web$上では異なるURI参照が同じオブジェクト(個体)を指すことが
ある。そのためOWLでは、名前(URI$参照)が異なるだけで2つの個
体が異なるとは結論付けできない。
そこで、2つの個体が同一である(owl:sameAs)、異なる
(owl:diffrentFrom)、あるいは一連の個体がお互いに異なる
(owl:AllDifferent)ことを事実として示す。
1. owl:sameAs,同一の個体
• 2つの個体が同一である。
2. owl:differentFrom,異なる個体
• 2つの個体がそれぞれ異なる。
3. owl:AllDifferent,&,owl:dis9nctMembers,異なる一連の個体
• 一連の個体が互いに異なる。
1.#owl:sameAs#同一の個体
[例6.38]'同一人物が異なる名前で認識されている。
<ex:Person rdf:ID="MasahideKanzaki">
<owl:sameAs rdf:resource="#masaka"/>
</ex:Person>
1.#owl:sameAs#同一の個体
[例6.38]'同一人物が異なる名前で認識されている。
1.#owl:sameAs#同一の個体
[例6.40]'同一作曲家が異なる名前で認識されている。
<ex:Composer rdf:about="#Mozart">
<owl:sameAs rdf:resource="http://composers.example.org/W_A_Mozart"/>
</ex:Composer>
1.#owl:sameAs#同一の個体
[例6.40]'同一作曲家が異なる名前で認識されている。
1.#owl:sameAs#同一の個体
[例6.41]'異なるオントロジー表現されている語彙が同一の意味であると示すことができる。
<owl:Class rdf:about="#StringQuartet">
<owl:sameAs rdf:resource="http://www.example.org/terms/StringQuartett"/>
</owl:Class>
1.#owl:sameAs#同一の個体
[例6.41]'異なるオントロジー表現されている語彙が同一の意味であると示すことができる。
2.#owl:differentFrom#異なる個体
[例6.42]'別々の個体であることを示す。
<ex:Cat rdf:about="#Mika">
<owl:differentFrom rdf:resource="#Mike"/>
</ex:Cat>
<ex:Cat rdf:about="#Miko">
<owl:differentFrom rdf:resource="#Mike"/>
<owl:differentFrom rdf:resource="#Mika"/>
</ex:Cat>
2.#owl:differentFrom#異なる個体
[例6.42]'別々の個体であることを示す。
3.#owl:AllDifferent#&#owl:dis3nctMembers#異なる一連の個体
[例6.43]'異なる一連の個体をまとめて別々の個体であることを示す。
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Collection">
<ex:Cat rdf:about="#Mika"/>
<ex:Cat rdf:about="#Mike"/>
<ex:Cat rdf:about="#Miko"/>
</owl:distinctMembers>
</owl:AllDifferent>
3.#owl:AllDifferent#&#owl:dis3nctMembers#異なる一連の個体
[例6.43]'異なる一連の個体をまとめて別々の個体であることを示す。
6.8$OWLでのデータ型
6.8.1%列挙データ型
1. rdfs:Literal
• e.g.0"神崎正英"@ja
2. RDFのデータ型
• e.g.0xsd:string,0xsd:integer,0xsd:dateTime
3. owl:oneOf0を利用した列挙データ型
• この章で説明
3.#owl:DataRange
データ型に属する値を全て列挙することで新たなデータ型を定義
することができる。
owl:oneOf)でデータ値を列挙したリストに結びつけることで、デ
ータ型を定義する。
3.#owl:DataRange
[例6.47]'テニスtのスコアを列挙した'tennisGameScore'というデータ型を定義する。
<owl:DatatypeProperty rdf:ID="tennisGameScore">
<rdfs:range>
<owl:DataRange>
<owl:oneOf>
<rdf:List>
<rdf:first>0</rdf:first>
<rdf:rest>
<rdf:List>
<rdf:first>15</rdf:first>
<rdf:rest>
<rdf:List>
<rdf:first>30</rdf:first>
<rdf:rest>
<rdf:List>
<rdf:first>40</rdf:first>
<rdf:rest rdf:resource="&rdf;nil"/>
</rdf:List>
</rdf:rest>
</rdf:List>
</rdf:rest>
</rdf:List>
</rdf:rest>
</rdf:List>
</owl:oneOf>
</owl:DataRange>
</rdfs:range>
</owl:DatatypeProperty>
3.#owl:DataRange
[例6.47]'テニスtのスコアを列挙した'tennisGameScore'というデータ型を定義する。
6.9$オントロジーの注釈と管理情報
6.9.1%オントロジーの注釈
4つの注釈型プロパティ
• rdfs:label
• rdfs:comment
• rdfs:seeAlso
• rdfs:isDefinedBy
[例6.50]'オントロジー・ヘッダーで注釈を使って作者を記述する。
<owl:AnnotationProperty rdf:reabout="http://purl.org/dc/elements/1.1/creator"/>
6.9.2%オントロジー・ヘッダ
オントロジー自身の情報はowl:Ontology*クラスのプロパティにオ
ントロジー・プロパティと注釈型プロパティを用いて記述する。
• owl:ontology
• オントロジーを表すクラス。
• この要素はオントロジー文書内でヘッダとしての役割を果た
す。
owl:ontology
[例6.51]'書籍のOntology'の情報を記述する。
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#">
<owl:Ontology rdf:about="">
<owl:versionInfo>第1.2版 2004-12-01</owl:versionInfo>
<rdfs:comment>RDF/OWL 入門のためのテストオントロジー</rdfs:comment>
<owl:imports rdf:resource="http://example.org/terms/basic.rdf"/>
</owl:Ontology>
</rdf:RDF>
owl:ontology
[例6.51]'書籍のOntology'の情報を記述する。
6.9.3%オントロジーのインポート
オントロジー・ヘッダで外部のオントロジーを取り込み、言明さ
れているオントロジーの内容を加える。
ウェブ・オントロジーの共有や再利用を実現する。
• owl:imports
• オントロジーを外部オントロジーと結びつける。
• 推移的にインポートできる。
6.9.4%バージョン管理
1. owl:versionInfo/バージョン番号など
2. owl:priorVersion/古いバージョンと結びつける
3. owl:backwardCompa;bleWith/古いバージョンと後方互換性有り
4. owl:incommpa;bleWith/古いバージョンと後方互換性無し
5. owl:DeprecatedClass/後方互換のための非推奨クラス
6. owl:DeprecatedProperty/後方互換のための非推奨プロパティ
[例6.53]'現在のバージョンが1.2'でバージョン1.0までは後方互換有り。(バージョン0.9は互換無し。)
<owl:Ontology rdf:about="">
<owl:versionInfo>第1.2版 2004-12-01</owl:versionInfo>
<owl:backwardCompatibleWith rdf:resource="http://example.org/terms/1.0/"/>
<owl:incompatibleWith rdf:resource="http://example.org/terms/0.9/"/>
<rdfs:comment>RDF/OWL 入門のためのテストオントロジー</rdfs:comment>
<owl:imports rdf:resource="http://example.org/terms/basic.rdf"/>
</owl:Ontology>
[例6.53]'現在のバージョンが1.2'でバージョン1.0までは後方互換有り。(バージョン0.9は互換無し。)
[例6.54]'古いバージョンのクラスやプロパティを新しいバージョンで別の名前に置き換えたので非推奨と
し、新しいものを参照可能にし、後方互換を保ちつつ新しいバージョンに切り替える。
<owl:DeprecatedClass rdf:ID="StringQuartetEnsemble">
<owl:comment>現在は StringQuartet</rdfs:comment>
<owl:equivalentClass rdf:resource="#StringQuartet"/>
</owl:DeprecatedClass>
<owl:DeprecatedProperty rdf:ID="member">
<owl:comment>現在は hasMember</rdfs:comment>
<owl:equivalentProperty rdf:resource="#hasMember"/>
</owl:DeprecatedProperty>
END7章に続く

More Related Content

More from Koji Shiraishi

りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -Koji Shiraishi
 
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜Koji Shiraishi
 
IT勉強会を支えるコミュニケーション
IT勉強会を支えるコミュニケーションIT勉強会を支えるコミュニケーション
IT勉強会を支えるコミュニケーションKoji Shiraishi
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Koji Shiraishi
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Koji Shiraishi
 
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドするDockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドするKoji Shiraishi
 
Techcircle001-OpenStackハンズオン勉強会
Techcircle001-OpenStackハンズオン勉強会Techcircle001-OpenStackハンズオン勉強会
Techcircle001-OpenStackハンズオン勉強会Koji Shiraishi
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! Koji Shiraishi
 

More from Koji Shiraishi (10)

りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
りんな風 女子高生Bot - docomo雑談対話API +α を使って 自分専用Botを作る -
 
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
Salon Bot 〜ヘアサロンLINEアシスタントの対話を Repl-AIを使ってプロトタイピング〜
 
IT勉強会を支えるコミュニケーション
IT勉強会を支えるコミュニケーションIT勉強会を支えるコミュニケーション
IT勉強会を支えるコミュニケーション
 
MFT打上げLT
MFT打上げLTMFT打上げLT
MFT打上げLT
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
 
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
Tech-Circle Pepperで機械学習体験ハンズオン勉強会inアトリエ秋葉原
 
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドするDockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
 
Techcircle005 welcome
Techcircle005 welcomeTechcircle005 welcome
Techcircle005 welcome
 
Techcircle001-OpenStackハンズオン勉強会
Techcircle001-OpenStackハンズオン勉強会Techcircle001-OpenStackハンズオン勉強会
Techcircle001-OpenStackハンズオン勉強会
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発!
 

セマンティック・ウェブのためのRDF/OWL 入門 6章 後半