๋ก๋ด ์ง๋ฅ ํ๋ซํผ์ ์ง๋ฅํ ์๋น์ค ๋ก๋ด์ ์ ์ํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ด๋ค. ์ด ํ๋ซํผ์ ๋ณํํ๋ ํ๊ฒฝ๊ณผ ์ฌ์ฉ์์ ์๊ตฌ์ ๋์ํ์ฌ ์ ํฉํ ํ๋์ ์ ํํ ์ ์๋ ๋ก๋ด์ ๋ง๋ค๊ธฐ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ, KnowledgeManager(KM) ๋ ์ด ์ง๋ฅ ๋ก๋ด ํ๋ซํผ์ ๋ชจ๋ ์ค ํ๋์ด๋ค.
KM์ ์ฌ์ฉ์, ์ธ์ง, ํ๊ฒฝ, ํ์, ๋ก๋ด ํ๋กํ์ผ ๋ฑ์ ํํํ๋ ๋ก๋ด ์จํจ๋ก์ง(Ontology)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ก๋ด์ ์ง๋ฅ์ ์ธ ์๋น์ค ์ํ์ ํ์ํ ์ ๋ฐ์ ์ธ ์ง์์ ์ ๊ณตํ๋ ๋ชจ๋์ด๋ค.
- ์ง๋ฅ ๋ก๋ด ์๋น์ค๋ฅผ ์ํ ์จํจ๋ก์ง์ ํจ์จ์ ์ธ ๊ด๋ฆฌ (์ง์ ์ถ๊ฐ, ์ง์ ์ ๊ฑฐ)
- ์๋น์ค runtime์ ํ agent๋ก๋ถํฐ ์์ฒญ๋ฐ๋ ์ง์ ์ง์ ๋ฐ ์ง์ ์ถ๋ก ์ฒ๋ฆฌ
- JRE 1.8 ์ด์
- ArbiFramework
- ์๋ฐ ํํ์ด์ง ์์ JRE ๋ค์ด๋ก๋ ๋ฐ ์ค์น
- ์ง๋ฅ์ฒด๊ณ ๊นํ๋ธ์์ ๋ค์ด๋ก๋ ๋ฐ ์ค์น (์์ธํ ์ค์น ๋ฐฉ๋ฒ์ ArbiFramework ๋ฌธ์์ ์ค์น ํญ๋ชฉ ์ฐธ์กฐ)
- ์ง๋ฅ์ฒด๊ณ ๊นํ๋ธ ์ ์ํ์ฌ KnowledgeManager ๋ค์ด๋ก๋ ํ ์์ถ ํ๊ธฐ
-
ArbiFramework ์คํ (ArbiFramework ๋ฌธ์์ ์คํ ํญ๋ชฉ ์ฐธ์กฐ)
-
์์ถ ํด์ ํ ํด๋ ์์ configuration/KmConfiguration.xml ํ์ผ ์ค์ ์ ํตํด Agent์ ์ ๋ณด ์ ๋ ฅ
-
argument ์ค๋ช
- OS : ์คํํ๋ ์ด์์ฒด๊ณ ์์ (WINDOW/LINUX) ์ค ํ๋ ์ ํ
- ServerURL : ์ฌ์ฉํ๋ ๋ฉ์์ง ๋ธ๋ก์ปค๊ฐ ๋์ํ๊ณ ์๋ ์ฃผ์์ ํฌํธ
- AgentName : ํด๋น Agent์ ์ฃผ์๋ก ์ฌ์ฉํ ์ด๋ฆ
- BrokerType : ์ฌ์ฉํ๋ ๋ฉ์์ง ๋ธ๋ก์ปค์ ์ข ๋ฅ(ZeroMQ/Apollo ์ค ํ๋ ์ ํ)
-
KmConfiguration.xml ์์
<?xml version="1.0?> <Agent-Property> <OS>WINDOW</OS> <ServerURL>tcp://172.16.165.102:61616</ServerURL> <AgentName>agent://www.arbi.com/knowledgeManager</AgentName> <BrokerType>ZeroMQ</BrokerType> </Agent-Property>
-
-
KnowledgeManager ์คํ
-
cmd ์ฐฝ์์ km.jar ํ์ผ ์คํ
-
์คํ ์์
C:\> cd KnowledgeManager C:\KnowledgeManager> java -jar km.jar +++++++++++++++++++++++++++++++ + Knowledge Manager Start + +++++++++++++++++++++++++++++++ LoggerManager Registering Welcome to Initialize! ...
-
- KnowledgeManager(KM)๋ ๋ก๋ด ์๋น์ค์ ํ์ํ ์ง์์ ์ถ๊ฐ/์ ๊ฑฐ/์ง์/์ถ๋ก ์ ์ฒ๋ฆฌํ๋ Agent์ด๋ค. ๋ค๋ฅธ Agent๋ ๋ก๋ด์ ์ง์์ ์ ๊ทผํ๊ธฐ ์ํด์ KM์ ์ง์ ์ฒ๋ฆฌ ์์ฒญ์ ํด์ผ ํ๋ค. ์ง์ ์ฒ๋ฆฌ ์์ฒญ ํ๋กํ ์ฝ์ GL ํ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์๊ณ KM์ ํ๋กํ ์ฝ์ ๋ค์๊ณผ ๊ฐ๋ค. (GL์ ๋ํ ๋ช ์ธ๋ ArbiFramework ๋ฌธ์๋ฅผ ์ฐธ์กฐ)
Type |
<GL Operation |
Name> Target |
Argument |
Description |
|---|---|---|---|---|
| Request | create | Class | $superClass $class |
Ontology์ ์๋ก์ด ํด๋์ค ์ถ๊ฐ |
| Request | create | Property | $propertyType $superProperty $property $domain $range |
Ontology์ ์๋ก์ด ํ๋กํผํฐ ์ถ๊ฐ |
| Request | create | Individual | $typeClass $individual |
Ontology์ ์๋ก์ด ์ธ๋๋น์ฃผ์ผ ์ถ๊ฐ |
| Request | create | Relation | $subject $property $object |
Ontology์ ์๋ก์ด ๊ด๊ณ Triple(S-P-O) ์ถ๊ฐ |
| Request | delete | Class | $superClass $class |
Ontology์์ ๊ธฐ์กด ํด๋์ค ์ ๊ฑฐ |
| Request | delete | Property | $propertyType $superProperty $property $domain $range |
Ontology์์ ๊ธฐ์กด ํ๋กํผํฐ ์ ๊ฑฐ |
| Request | delete | Individual | $typeClass $individual |
Ontology์์ ๊ธฐ์กด ์ธ๋๋น์ฃผ์ผ ์ ๊ฑฐ |
| Request | delete | Relation | $subject $property $object |
Ontology์์ ๊ธฐ์กด ๊ด๊ณ Triple(S-P-O) ์ ๊ฑฐ |
| Query | query | Relation | $subject $property $object |
๊ด๊ณ Triple(S-P-O) ์ง์ |
| Query | query | CloudRelation | $subject $property $object |
ํด๋ผ์ฐ๋ ์ง์ |
| Query | query | MultiRelation | $subject $property $object |
Chained ๊ด๊ณ Triple(S-P-O) ์ง์ |
| Request | request | Path | $returnType $x $y $z $departure $destination |
์ถ๋ฐ์ง์์ ๋์ฐฉ์ง๊น์ง์ ์ต๋จ๊ฒฝ๋ก ์ถ๋ก |
| Request | request | Recommendation | $user $targetAction |
๋ชฉ์ ํ์์ ์ฌ์ฉ์์ ๋ฐ๋ฅธ ์ ์ ํ object ์ถ๋ก |
์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์ ์๋ก์ด ํด๋์ค ์ถ๊ฐ
- GL format
(createClass $superClass $class)
-
Arguments
- $superClass : ์๋ก์ด ํด๋์ค์ ์์ ํด๋์ค (IRI ํ์)
- $class : ์๋ก์ด ํด๋์ค (IRI ํ์)
-
Example
(createClass "http://robot-arbi.kr/ontologies/isro_social.owl#MentalDisease" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Schizophrenia")์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์ ์๋ก์ด ํ๋กํผํฐ ์ถ๊ฐ
- GL format
(createProperty $propertyType $superProperty $property $domain $range)
-
Arguments
- $propertyType : "Objectproperty" ๋๋ "Datatype property"
- $superProperty : ์๋ก์ด ํ๋กํผํฐ์ ์์ ํ๋กํผํฐ (IRI ํ์)
- $property : ์๋ก์ด ํ๋กํผํฐ (IRI ํ์)
- $domain : ์๋ก์ด ํ๋กํผํฐ์ domain (์ ์ํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ, $domain์ ๊ฐ์ ์ฑ์ฐ์ง ์๊ณ ๊ทธ๋๋ก ์ง์)
- $range : ์๋ก์ด ํ๋กํผํฐ์ range (์ ์ํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ, $range์ ๊ฐ์ ์ฑ์ฐ์ง ์๊ณ ๊ทธ๋๋ก ์ง์)
-
Example
(createProperty "ObjectProperty" "http://robot-arbi.kr/ontologies/isro_medical.owl#getDisease" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#getPhysicalDisease" "http://knowrob.org/kb/knowrob.owl#Person" "http://robot-arbi.kr/ontologies/isro_medical.owl#PhysicalDisease")
(createProperty "DatatypeProperty" "http://www.w3.org/2002/07/owl#topDataProperty" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#myDatatypeProperty" $domain $range)์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์ ์๋ก์ด ์ธ๋๋น์ฃผ์ผ ์ถ๊ฐ
- GL format
(createIndividual $typeClass $individual)
-
Arguments
- $typeClass : ์๋ก์ด ์ธ๋๋น์ฃผ์ผ์ ํ์ ํด๋์ค
- $individual : ์๋ก์ด ์ธ๋๋น์ฃผ์ผ (IRI ํ์)
-
Example
(createIndividual "http://robot-arbi.kr/ontologies/isro_medical.owl#Schizophrenia" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#_Schizophrenia")์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์ ์๋ก์ด ๊ด๊ณ Triple(S-P-O) ์ถ๊ฐ ํ ๊ฐ์ ๊ด๊ณ Triple์ ์ถ๊ฐํ ํ ๋ฟ๋ง ์๋๋ผ ํ๋์ ์ฃผ์ด์ ๋ํ ์ฌ๋ฌ ๊ด๊ณ Triple์ ๋์์ ์ถ๊ฐํ๋ ๊ฒ์ด ๊ฐ๋ฅ.
- GL format
(createRelation $subject (predicate $property $object) (predicate $property $object) ... )
-
Arguments
- $subject : ์๋ก์ด ๊ด๊ณ Triple ์ ์ฃผ์ด
- $property : ์๋ก์ด ๊ด๊ณ Triple ์ ์์ ์ด
- $object : ์๋ก์ด ๊ด๊ณ Triple ์ ๋ชฉ์ ์ด
-
Example
(createRelation "http://robot-arbi.kr/ontologies/isro.owl#FaceRecognition" (predicate "http://robot-arbi.kr/ontologies/isro_social.owl#faceID" "001"))
(createRelation "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Person001" (predicate "http://robot-arbi.kr/ontologies/isro_medical.owl#getDisease" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#_Schizophrenia"))์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์์ ๊ธฐ์กด ํด๋์ค ์ ๊ฑฐ. ์ ๊ฑฐํ๋ ค๋ ํด๋์ค์ ํ์ ํด๋์ค๊ฐ ์กด์ฌํ๋ฉด ์ ๊ฑฐ ๋ถ๊ฐ ๋ฉ์์ง ๋ฐํ.
- GL format
(deleteClass $superClass $class)
-
Arguments
- $superClass : ์ ๊ฑฐํ ํด๋์ค์ ์์ ํด๋์ค (IRI ํ์)
- $class : ์ ๊ฑฐํ ํด๋์ค (IRI ํ์)
-
Example
(deleteClass "http://robot-arbi.kr/ontologies/isro_medical.owl#MentalDisease" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Schizophrenia")์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์์ ๊ธฐ์กด ํ๋กํผํฐ ์ ๊ฑฐ. ์ ๊ฑฐํ๋ ค๋ ํ๋กํผํฐ์ usage๊ฐ ์กด์ฌํ๋ฉด ์ ๊ฑฐ ๋ถ๊ฐ ๋ฉ์์ง ๋ฐํ.
- GL format
(deleteProperty $propertyType $superProperty $property $domain $range)
-
Arguments
- $propertyType : "Objectproperty" ๋๋ "Datatype property"
- $superProperty : ์ ๊ฑฐํ ํ๋กํผํฐ์ ์์ ํ๋กํผํฐ (IRI ํ์)
- $property : ์ ๊ฑฐํ ํ๋กํผํฐ (IRI ํ์)
- $domain : ์ ๊ฑฐํ ํ๋กํผํฐ์ domain (์ ์ํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ, $domain์ ๊ฐ์ ์ฑ์ฐ์ง ์๊ณ ๊ทธ๋๋ก ์ง์)
- $range : ์ ๊ฑฐํ ํ๋กํผํฐ์ range (์ ์ํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ, $range์ ๊ฐ์ ์ฑ์ฐ์ง ์๊ณ ๊ทธ๋๋ก ์ง์)
-
Example
deleteProperty "ObjectProperty" "http://robot-arbi.kr/ontologies/isro_medical.owl#getDisease" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#getPhysicalDisease" "http://knowrob.org/kb/knowrob.owl#Person" "http://robot-arbi.kr/ontologies/isro_medical.owl#PhysicalDisease")
(deleteProperty "DatatypeProperty" "http://www.w3.org/2002/07/owl#topDataProperty" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#myDatatypeProperty" $domain $range)์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์์ ๊ธฐ์กด ์ธ๋๋น์ฃผ์ผ ์ ๊ฑฐ.
- GL format
(deleteIndividual $typeClass $individual)
-
Arguments
- $typeClass : ์ ๊ฑฐํ ์ธ๋๋น์ฃผ์ผ์ ํ์ ํด๋์ค
- $individual : ์ ๊ฑฐํ ์ธ๋๋น์ฃผ์ผ (IRI ํ์)
-
Example
(deleteIndividual "http://robot-arbi.kr/ontologies/isro_medical.owl#Schizophrenia" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#_Schizophrenia")์๋น์ค์ฉ ์จํจ๋ก์ง ๋ชจ๋ธ์์ ๊ธฐ์กด ๊ด๊ณ Triple(S-P-O) ์ ๊ฑฐ
- GL format
(deleteRelation $subject $property $object)
-
Arguments
- $subject : ์๋ก์ด ๊ด๊ณ Triple ์ ์ฃผ์ด
- $property : ์๋ก์ด ๊ด๊ณ Triple ์ ์์ ์ด
- $object : ์๋ก์ด ๊ด๊ณ Triple ์ ๋ชฉ์ ์ด
-
Example
(deleteRelation "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Person001" "http://robot-arbi.kr/ontologies/isro_medical.owl#getDisease" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#_Schizophrenia")ํ์ฌ ๋ก๋ด์ด ์์นํ ์ถ๋ฐ์ง๋ก๋ถํฐ ๋ชฉ์ ์ง๊น์ง์ ์ต๋จ๊ฒฝ๋ก ์ถ๋ก ๋ฐํ ํ์ ์ ์ค์ ํ์ฌ ์ขํ๊ฐ ๋ฆฌ์คํธ ๋๋ ์๋งจํฑ๋งต ์ ๊ฒฝ๋ก ์ด๋ฆ ๋ฆฌ์คํธ ๋๋ ์ก์ ๋ฆฌ์คํธ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ ์๋ค.
- GL format
(requestPath $type (currentPoint $x $y $z) $departure $destination)
-
Arguments
- $type : ๊ฒฝ๋ก ์ถ๋ก ๊ฒฐ๊ณผ์ ๋ฐํ ํ์ "coordinate" or "name" or "action"
- $x $y $z : ๋งคํธ๋ฆญ ๋งต ์ ๋ก๋ด์ ํ์ฌ ์์น ์ขํ๊ฐ
- $departure : ์ถ๋ฐ์ง์ ์๋งจํฑ ๋งต ์ ์ด๋ฆ
- $destination : ๋ชฉ์ ์ง์ ์๋งจํฑ ๋งต ์ ์ด๋ฆ
-
Example
(requestPath "coordinate" (currentPoint 2.0 3.0 0.0) "http://robot-arbi.kr/ontologies/isro_map.owl#OfficeRoom001" "http://robot-arbi.kr/ontologies/isro_map.owl#OfficeRoom002")
(requestPath "name" (currentPoint 2.0 3.0 0.0) "http://robot-arbi.kr/ontologies/isro_map.owl#OfficeRoom001" "http://robot-arbi.kr/ontologies/isro_map.owl#OfficeRoom002")
(requestPath "action" (currentPoint 5.25 0.8056 0.0) "http://robot-arbi.kr/ontologies/isro_map.owl#ReceptionRoom001" "http://robot-arbi.kr/ontologies/inro_map.owl#HospitalRoom001")์ฌ์ฉ์ ๋ง์ถค ์ถ์ฒ์ ์ํด ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ชฉ์ ํ์์ ๋ฐ๋ฅธ ์ ์ ํ object ์ถ๋ก ์ถ๋ก ์ ์ฌ์ฉ์ ์ด๋ ฅ์ ๋ํ ์ ๋ณด๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ContextManager(CM)์์ ์ฐ๊ณ๊ฐ ํ์ํ ์ถ๋ก ์ด๋ค. ๋จผ์ ๋ชฉ์ ํ์์ ๋ํ ์ฌ์ฉ์์ ์ ํธ๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ถ์ฒํ ํ๋ณด๋ฅผ ์ ์ ํ๊ณ , ์ ์ ๋ ํ๋ณด ์ค ์ฌ์ฉ์์ ๋ณ๋ ฅ ์ ๋ณด๋ฅผ ํตํด ํ๋ณด ์ค ์ ์ธํ ๊ฒ๋ค์ ์ ์ธ์ํค๊ณ , CM ์ง์๋ฅผ ํตํด ์ฌ์ฉ์์ ์ด๋ ฅ ์ ๋ณด๋ฅผ ํ์ธํ์ฌ ๋น์ผ ์ฌ์ฉ์์ ์ด๋ ฅ์ ์๋ ํ๋ณด๋ ์ ์ธ์ํจ๋ค. ๋ฐ๋ผ์ ์ ์ธ๋์ง ์๊ณ ๋จ์ ํ๋ณด๋ค์ ์ฌ์ฉ์์๊ฒ ์ถ์ฒํ๊ฒ ๋๋ฉฐ ๋ํ ์ถ์ฒ์ ์ด์ ๋ฅผ ์ ์ํ ์ ์๋ค.
- GL format
(requestRecommendation $user $targetAction)
-
Arguments
- $user : ์ฌ์ฉ์
- $targetAction : ์ถ์ฒ์ ๋ชฉ์ ์ด ๋๋ ํ์
-
Example
(requestRecommendation "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#person001" "http://knowrob.org/kb/knowrob.owl#Drink" $result)- Example result
(responseRecommendation "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#person001" "http://knowrob.org/kb/knowrob.owl#Drink" (result (recommendation "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#_water" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#_blacktea") (reason (disease "http://robot-arbi.kr/ontologies/isro_medical.owl#_diabetes") (history "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#_coffee"))))๊ด๊ณ Triple(S-P-O)์ ์ง์ํ๊ธฐ ์ํ ํ๋กํ ์ฝ. Subject, Property, Object ์ค ํ๋ ์ด์์ ์ ๋ณด๋ฅผ ๋ฐ์, ์จํจ๋ก์ง์ ์กด์ฌํ๋ ๋ชจ๋ ๊ด๊ณ Triple์ ์ถ์ถํ์ฌ Triple ๋ฆฌ์คํธ๋ก ๋ฐํ. ์๋ฅผ ๋ค์ด, Subject์ Object๋ก ์ง์ํ ๊ฒฝ์ฐ ๋ ์ธ์๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ๋ชจ๋ Property๋ฅผ ์ฐพ์ Triple ๋ก ๋ง๋ค์ด ๋ฐํํจ.
- GL format
(queryRelation $subject $property $object $result)
-
Arguments
- triple : ๊ด๊ณ Triple์ ํํํ๋ GL Expression
- $subject : ์ง์ํ ๊ด๊ณ Triple์ ์ฃผ์ด
- $property : ์ง์ํ ๊ด๊ณ Triple์ ์์ ์ด
- $object : ์ง์ํ ๊ด๊ณ Triple์ ๋ชฉ์ ์ด
- $result : ์ง์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ธ๋ฉ๋๋ ์ธ์
-
Example
(queryRelation "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Person001" $p $o $result)- Example result
(queryRelation "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Person001" $p $o (result (triple "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Person001" "http://robot-arbi.kr/ontologies/isro_social.owl#isAged" "http://robot-arbi.kr/ontologies/isro_social.owl#_AdultAge") (triple "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Person001" "http://robot-arbi.kr/ontologies/isro_social.owl#gender" "http://robot-arbi.kr/ontologies/isro_social.owl#_Male") ... ))์ฐ์์ ์ธ(Chained) ๊ด๊ณ Triple(S-P-O)์ ์ง์ํ๊ธฐ ์ํ ํ๋กํ ์ฝ. ์ผ๋ฐ์ ์ธ ์ฟผ๋ฆฌ๋ฌธ์ JOIN๋ฌธ๊ณผ ์ ์ฌํ๊ฒ TripleSet ์ด๋ผ๋ ๊ด๊ณ Triple์ ์งํฉ ํํ๋ก ์ง์ํ๋ฉด, ์จํจ๋ก์ง๋ก๋ถํฐ ์ฐ์์ ์ธ ๊ด๊ณ๋ฅผ ์ถ์ถํ์ฌ ๋ชจ๋ ์ฐ์๊ด๊ณ๋ฅผ TripleSet ๋ฆฌ์คํธ๋ก ๋ฐํ. ์ง์ํ๊ณ ์ํ๋ ์ฐ์ triple์ ๊ณตํต ๋ถ๋ถ์ ๊ฐ์ ์ด๋ฆ์ argument ํํ๋ก ์ง์ํ๋ฉด ๊ฐ์ ์ธ์๋ก ์ธ์ํ์ฌ ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ ๋ฐํ.
- GL format
(queryMultiRelation (tripleSet (triple $s $p $o) (triple $s $p $o)... ) $result)
-
Arguments
- triple : ๊ด๊ณ Triple์ ํํํ๋ GL Expression
- tripleSet : ๊ด๊ณ Triple์ ์งํฉ์ ํํํ๋ GL Expression
- $s : ์ง์ํ ๊ด๊ณ Triple์ ์ฃผ์ด
- $p : ์ง์ํ ๊ด๊ณ Triple์ ์์ ์ด
- $o : ์ง์ํ ๊ด๊ณ Triple์ ๋ชฉ์ ์ด
- $result : ์ง์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ธ๋ฉ๋๋ ์ธ์
-
Example
(queryMultiRelation (tripleSet (triple $medicalRecord "http://robot-arbi.kr/ontologies/isro.owl#targetPerson" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#Person001") (triple $medicalRecord "http://robot-arbi.kr/ontologies/isro.owl#targetDisease" $disease) (triple $medicalRecord "http://knowrob.org/kb/knowrob.owl#startTime" "http://robot-arbi.kr/ontologies/SERVICE_NAME.owl#TimePoint_123456789")) $result)์ธ๋ถ ์์ ์ฐ๊ณ๋ฅผ ํตํด ํด๋ผ์ฐ๋ ์ ๋ณด๋ฅผ ์ง์.
- GL format
(queryCloudRelation $s $p $o $result)
-
Arguments
- $s : ํด๋ผ์ฐ๋ ์ง์ํ ๊ด๊ณ Triple์ ์ฃผ์ด
- $p : ํด๋ผ์ฐ๋ ์ง์ํ ๊ด๊ณ Triple์ ์์ ์ด
- $o : ํด๋ผ์ฐ๋ ์ง์ํ ๊ด๊ณ Triple์ ๋ชฉ์ ์ด
- $result : ํด๋ผ์ฐ๋ ์ง์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ธ๋ฉ๋๋ ์ธ์
-
Example
(queryCloudRelation "์ถ์" "์ผ์" $o $result)- Example result
(queryCloudRelation "์ถ์" "์ผ์" $o (result (triple "์ถ์" "์ผ์" "2020๋
10์1์ผ")))์ฌ์ฉ์ ์จํจ๋ก์ง๋ ์๋น์ค์ ๋์์ด ๋๋ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ํํํ๊ธฐ ์ํ ์จํจ๋ก์ง๋ก ์๋น์ค ์ ๊ณต์ ํ์ํ ์ฌ์ฉ์์ ํ๋กํ์ผ, ๊ฐ์ ์ ์ํ ๋ฑ์ ๊ตฌ์ฒดํํ์ฌ ์ ์ํ๋ค. ์ฌ์ฉ์ ํ๋กํ์ผ์ ์ฌํ์ ๊ด๊ณ, ๋ก๋ด์ ๋ํ ์ ๊ทผ ๊ถํ ๋ฑ์ ํฌํจํ๋ค.
| ํด๋์ค | ์๋ฏธ |
|---|---|
| Person | ๋ก๋ด ์๋น์ค ์ฌ์ฉ์ |
| SocialConcept | ์ฌํ์ ๊ฐ๋ |
| AccessAuthority | ์ ๊ทผ ๊ถํ |
| OrganizationalConcept | ์กฐ์ง ๊ด๊ณ(๋ถ์, ์ง์ ๋ฑ) |
| Emotion | ๊ฐ์ ์ํ |
| Schedule | ์ผ์ |
๋ก๋ด ์จํจ๋ก์ง๋ ๊ฐ์ธํ ์๋น์ค ์ํ์ ์ฃผ์ฒด์ธ ๋ก๋ด๊ณผ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ์ ์ํ ์จํจ๋ก์ง์ด๋ค. ๋ก๋ด ์จํจ๋ก์ง์์๋ ์ฌ๋ฌ ์ข ๋ฅ์ ์๋น์ค ๋ก๋ด์ด ํํ๋๊ณ , ๊ฐ ๋ก๋ด์ ์๋ก ๋ค๋ฅธ ์ํ ๋ฅ๋ ฅ(hasCapability ๊ด๊ณ ์์ฑ)๊ณผ ์ด์ ๋ํ ๋ก๋ด ๊ตฌ์ฑ ์์๊ฐ ์ ์๋์ด ์๋ค. ์ํ ๋ฅ๋ ฅ์ ๋์ ๊ด๋ จ ๋ฅ๋ ฅ, ์ธ์ ๊ด๋ จ ๋ฅ๋ ฅ ๋ฑ ๋ก๋ด์ ํ์๋ฅผ ์ํํ๊ธฐ ์ํ ๋ค์ํ ๋ฅ๋ ฅ์ด ์ ์๋๋ฉฐ ํด๋น ์ํ ๋ฅ๋ ฅ์ ์ํํ๋ ๋ฐ์ ํ์ํ ๋ก๋ด ๊ตฌ์ฑ ์์(dependsOnComponent ๊ด๊ณ ์์ฑ) ํน์ ๋ค๋ฅธ ์ํ ๋ฅ๋ ฅ (dependsOnCapability๊ด๊ณ ์์ฑ)์ ํฌํจํ๋ค.
| ํด๋์ค | ์๋ฏธ |
|---|---|
| Robot | ์๋น์ค ๋ก๋ด |
| Capability | ์๋น์ค ์ํ ๋ฅ๋ ฅ |
| SoftwareComponent | ์ํํธ์จ์ด ๊ตฌ์ฑ ์์ |
| HardwareComponent | ํ๋์จ์ด ๊ตฌ์ฑ ์์ |
| ComponentAttribute | ๊ตฌ์ฑ ์์ ์์ฑ |
์ธ์ง ์จํจ๋ก์ง๋ ์๋น์ค ํ๊ฒฝ ๋ด ๋ฌผ์ฒด ์ ๋ณด๋ฅผ ํํํ๋ ์จํจ๋ก์ง์ด๋ค. ์ธ์ง ์จํจ๋ก์ง์์๋ ์ ํ ๋ณ ๋ค์ํ ๋ฌผ์ฒด์ ๋ฌผ์ฒด์ ์์ฑ์ ๋ํ ์ ์๋ฅผ ํฌํจํ๋ค.
| ํด๋์ค | ์๋ฏธ |
|---|---|
| ConnectionPhysical | ๋ฌผ์ฒด ์ ํฉ ๋ถ๋ถ (๊ฒฝ์ฒฉ, ๋ก๋ด ๊ด์ ๋ฑ) |
| HumanScaleObject | ์ธ๊ฐ ์ฒ๋์ ๋ฌผ์ฒด |
| FluidTangibleThing | ์ก์ฒด ์ ํ ๋ฌผ์ฒด |
| EdibleStuff | ์์ฉ ๊ฐ๋ฅ ๋ฌผ์ฒด |
| ObjectColor | ๋ฌผ์ฒด ์์ |
| ObjectShape | ๋ฌผ์ฒด ํํ |
| ObjectState | ๋ฌผ์ฒด์ ์ํ(์ด๋์ฑ, ์ฅ์น On/Off, ๊ฐํ ์ํ ๋ฑ) |
ํ๊ฒฝ ์จํจ๋ก์ง๋ ๋ก๋ด์ด ์๋น์ค๋ฅผ ์ํํจ์ ์์ด์ ๋ก๋ด์ด ์ธ์ํ๋ ์ ๋ ๋ฒจ์ ์คํ๊ฒฝ์ ๋ก๋ด์ด ์ดํดํ ์ ์๋๋ก ๊ณ ๋ ๋ฒจ์ ์ง์์ผ๋ก ๋งคํํ๋ ์ค์ํ ์ง์ ๊ฐ๋ ์ ํฌํจํ๋ค. ํ๊ฒฝ ์จํจ๋ก์ง์์๋ ๋ก๋ด์ด ์๋น์ค๋ฅผ ์ํํ๋ ๋ค์ํ ํ๊ฒฝ์ ์์๊ฐ ์ ์๋๋ค. ์๋น์ค ํ๊ฒฝ์ ์๊ณต๊ฐ์ ํํ ์ฒด๊ณ, ์คํ๊ฒฝ์ ์ถ์ํํ๊ธฐ ์ํ ๋งต๊ณผ ์ขํ์ ํํ ์ฒด๊ณ, ๊ทธ๋ฆฌ๊ณ ๊ณต๊ฐ ๊ฐ, ์๊ณต๊ฐ ๊ฐ, ์๊ฐ ๊ฐ์ ์ฐ๊ด ๊ด๊ณ ๋ฑ์ด ํ๊ฒฝ ์จํจ๋ก์ง๋ฅผ ํตํด ํํ๋๋ค.
| ํด๋์ค | ์๋ฏธ |
|---|---|
| FixedStructure | ๊ณ ์ ๊ตฌ์กฐ๋ฌผ |
| SpaceInAHOC | ์ธ๊ฐ ๊ฑฐ์ฃผ์ง ๋ด ๊ณต๊ฐ |
| Intersection | ๊ต์ฐจ ์ง์ญ |
| RoomInAConstruction | ๊ฑด๋ฌผ ๋ด ๋ฐฉ |
| FlatPhysicalSurface | ํ๋ฉด ๊ณต๊ฐ |
| Side | ๊ฒฝ๊ณ ๊ณต๊ฐ (ex. ๋ฒฝ) |
| ํด๋์ค | ์๋ฏธ |
|---|---|
| MetricMap | ์์น(์ขํ)๊ฐ ํํ๋ ๋งต |
| TopologicalMap | ์์ํ์ ๊ด๊ณ๊ฐ ํํ๋ ๋งต |
| SemanticMap | ์๋ฏธ ๊ด๊ณ๊ฐ ํํ๋ ๋งต |
| MapBuiltFromSensorData | ์ธ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋งต |
| CollisionMap | ๋ก๋ด ๊ตฌ์ฑํ ์ถฉ๋ ๋ฐฉ์ง ๋งต |
| Point | ๋งต ์ ์ขํ |
| RotationMatrix | ๋ฌผ์ฒด์ ํ์ ๊ฐ๋ ์ ํฌํจํ๋ ์ขํ |
| Zone | ๋งต ๋ด ํน์ ๊ตฌ์ญ |
| ํด๋์ค | ์๋ฏธ |
|---|---|
| Date | ๋ ์ง (ex. ์์ผ ๋ฑ) |
| QualitativeTimeOfDay | ์ ์ฑ์ ์๊ฐ (ex. ์์นจ, ์ ๋ ๋ฑ) |
| TimePoint | ํน์ ์์ |
| TimeOfDay | ํน์ ์ ์ธ ์๊ฐ ํํ(ex. ๊ทผ๋ฌด์๊ฐ, ์ด์์๊ฐ ๋ฑ) |
| TemporalPart | ํน์ ์๊ฐ์์์ ๋์์ ์ผ๋ถ๋ถ |
| ํด๋์ค | ์๋ฏธ |
|---|---|
| linkedTo | ์์์ ์ธ ์ง์ ๊ฐ์ ์ฐ๊ฒฐ ๊ด๊ณ |
| locatedAtAbsolute | ์ ๋์ ์์น |
| locatedAtRelative | ์๋์ ์์น |
| locationOf | ์์น ์ฅ์(locatedAt์ ์ญ๊ด๊ณ) |
| spatialCotemporalPredicate | ๋์๋ฐ์์ ์ธ ์์น๊ด๊ณ |
| ํด๋์ค | ์๋ฏธ |
|---|---|
| startTime | ์์ ์๊ฐ |
| endTime | ์ข ๋ฃ ์๊ฐ |
| intervalRelations | ์๋์ ์๊ฐ ๊ด๊ณ |
| temporalExtend | TemporalPart์ ์๊ฐ ์ ๋ณด |
| temporalParts | TemporalPart์ ๋์ |
ํ์ ์จํจ๋ก์ง๋ ๊ฐ์ธํ ์๋น์ค ์ํ์ ์ํ ๋ก๋ด์ ํ์์ ๋ํ ์จํจ๋ก์ง๋ก, ๋ก๋ด์ ํ์๋ ์ค์ง์ ์ธ ์ผ๋ จ์ ๋์์ด์ ํ๋์ ์ํฉ์ ์ฌ๊ฑด์ผ๋ก์จ ์ ์๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ํ์๋ ๋ก๋ด์ ๊ณต๊ฐ์ ์ด๋, ๋ฌผ์ฒด๋ฅผ ์ฅ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์กฐ์, ์ง์์ ํ์ฉํ ๋ ผ๋ฆฌ์ ์ถ๋ก , ๋ฌผ์ฒด ์ธ์ ๋ฑ ๋ก๋ด์ ๋ฌผ๋ฆฌ์ , ์ ์ ์ , ์ธ์์ ํ์๋ฅผ ์๋ฏธํ๋ฉฐ, ๊ฐ ํ์๋ ๋ค์์ ๋ถ์์ ํ์, ํ์ ์ฃผ์ฒด, ํ์ ๋์, ๋ฐ์ ์ฅ์, ๋ฐ์ ์์/๋ ์๊ฐ ๋ฑ์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํ๋ค.
| ํด๋์ค | ์๋ฏธ |
|---|---|
| Action | ๋ก๋ด์ ์ค์ง์ ๋์ |
| ActionResult | ๋ก๋ด ๋์์ ๊ฒฐ๊ณผ(์๋ฃ, ์คํจ, ์ค๋จ ๋ฑ) |
| PhysicalEvent | ๋ฌผ๋ฆฌ์ ์ฌ๊ฑด |
| MentalEvent | ์ ์ ์ ์ฌ๊ฑด |
| SensoryEvent | ์ธ์์ ์ฌ๊ฑด |






