MFI Ontology registration Ed2 ~Toward ontology evolution management ~ OKABE, Masao Co-editor ISO/IEC 19763-3 MFI Ontology registration project 2007.12.07 Outline 1. What is MFI Ontology registration Ed1? 2. What lacks in MFI Ontology registration Ed1? 3. Evolution management in MFI Ontology registration Ed2 4. Other topics in MFI Ontology registration ED2 5. Overview of proposed Ed2 metamodel 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 2 1. What is MFI Ontology registration Ed1? 2. What lacks in MFI Ontology registration Ed1? 3. Evolution management in MFI Ontology registration Ed2 4. Other topics in MFI Ontology registration Ed2 5. Overview of proposed Ed2 metamodel 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 3 What is MFI Ontology registration Ed1? ISO/IEC 19763-3 MFI Ontology registration Ed1 is a part of the Metamodel Framework Interoperability standards, and was published as a IS on March 1st, 2007. Metamodel Framework Interoperability project is multi-part project intending to promote interoperability of metamodels, models and ontologies etc. Part 1 Reference model Part 2 Core model Part 3 Metamodel for ontology registration Part 4 Metamodel for model mapping Part 5 Metamodel for process models registration Part 6 Registration procedure Participating Counties: Main contributors: 2007/12/07 IS FCD IS, WD of Ed2 in preparation CD WD in preparation Study Period Canada, China, Japan, Korea, UK, U.S. China, Japan, Korea 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 4 Features of MFI Ontology registration Features Very simple specifications as a first step Think big, act samll! Simple and generic structure, irrelevant to languages –Ontology_Whole - Ontology_Component - Ontology_Atomic_Construct Providing a framework to ensure trustiness Reference Ontology vs. Local Ontology Using a MFI Ontology registration registry, we can at least know what ontologies are there and whether they are trusty or not and get a clue to reuse them. Since it is very simple and generic, MFI Ontology registration only has a little semantics of ontologies, and for their full semantics, it relies on repositories such as OMG ODM. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 5 Simple and generic structure (1 of 4): Common basic structure of ontology Almost any ontology has this simple three granularity structure. Ontology An ontology consists of sentences. e.g. Example_Ontology consists of Buyer has.Creditrating(Tony) Buyer(Tony) Creditrating(Credit-A) Sentence A sentence uses symbols. e.g. Buyer has.Creditrating(Tony) uses Buyer Creditrating has Tony logical symbols , , (and variables ) Symbol 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 6 Simple and generic structure (2 of 3): MFI Ontology registration structure MFI Ontology registration consists of Ontology Whole, Ontology Component, Ontology Atomic Construct that correspond to ontology, sentence, symbol * respectively and that have administrative information ** of its correspondent structural information of this level a reference(URI) to its correspondent, for further semantics, if necessary Note * : Logical symbols such as , , and variables are ignored. **: inherited from Administered Item of ISO/IEC 11179-3 MDR , such as registration authority, creation date etc. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 7 Simple and generic structure (3 of 3): MFI Ontology registration structure Actual ontology Ontology MFI Ontology registration reference Ontology Whole +administrative info. consistOf Sentence reference Ontology Component +administrative info use Symbol Ontology Atomic Construct reference +administrative info For actual ontologies, MFI Ontology registration mainly relies on OMG ODM 2007/12/07 東京電力・システム企画部・岡部雅夫 e.g. Administrative information etc. corresponding to Example_Ontology e.g. Administrative information etc. corresponding to each of Buyer has.Creditrating(Tony) Buyer(Tony) Creditrating(Credit-A) e.g. Administrative information etc. corresponding to of each Buyer Creditrating has Tony 目的外使用・複製禁止 8 Providing a framework to ensure trustiness Reference Ontology vs. Local Ontology Reference Ontology Standardized ontology that is usable and sharable by a community of interest Trustworthy to others A reference ontology consists of sentences only in reference ontologies. A sentence in a reference ontology uses symbols only in reference ontologies. Local Ontology Localized ontology for some applications based on Reference Ontologies It is its user’s responsibility to trust this ontology or not. A local ontology consists of sentences both in this local ontology and other reference ontologies. A sentence in a local ontology uses a symbols in this local ontology and other reference ontologies. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 9 Core portion of MFI Ontology registration metamodel Reference Ontology Whole Reference Ontology Component Local Ontology Whole sameAs Local Ontology Component 0:1 0:* Reference Ontology Atomic Construct 2007/12/07 sameAs 0:1 0:* 東京電力・システム企画部・岡部雅夫 Local Ontology Atomic Construct 目的外使用・複製禁止 10 Example1 (1 of 2) Suppose that ontology A consists of sentence RC1, RC2 and RC3 as follows; 2007/12/07 RC1 <owl:ObjectProperty rdf:ID="dimensionality"> <rdfs:domain rdf:resource="#Unit" /> <rdfs:range rdf:resource="#Dimensionality" /> </owl:ObjectProperty> RC2 <owl:Class rdf:ID="KernelUnit"> <rdfs:subClassOf rdf:resource="#Unit"/> </owl:Class> RC3 <KernelUnit rdf:ID="metre"> <dimensionality> <Dimensionality rdf:ID="length"/> </dimensionality> </KernelUnit> 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 11 Example1 (2 of 2) Metadata registered in MFI Ontology registration A URI Administered Info. Ontology Whole Ontology Component Ontology Atomic Construct RC1 NamespaceURI Administered Info. Unit NamespaceURI Administered Info. RC2 NamespaceURI Administered Info. KernelUnit NamespaceURI Administered Info. dimensionality NamespaceURI Administered Info. RC3 NamespaceURI Administered Info. length NamespaceURI Administered Info. Dimensionality NamespaceURI Administered Info. metre NamespaceURI Administered Info. Note OWL constructs such as “ObjectProperty”, “subClassOf” etc. have no effects. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 12 1. What is MFI Ontology registration Ed1? 2. What lacks in MFI Ontology registration Ed1? 3. Evolution management in MFI Ontology registration Ed2 4. Other topics in MFI Ontology registration Ed2 5. Overview of proposed Ed2 metamodel 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 13 Nature of ontologies By nature, ontologies are reused mutually and ontologies evolve gradually as they capture more semantics. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 14 Example2 First, ontology B uses ontology A. ontology B use ontology A Second, ontology A evolves from ver.1 to ver.2. But ontology B still uses ontology A ver.1. ontology B ontology A use Ver.1 evolves Ver.2 Third, ontology C uses ontology A ver.2. ontology B ontology A use Ver.1 evolves Ver.2 use ontology C Note:This kind of situation often happens. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 15 Problem of MFI Ontology registration Ed1 MFI Ontology registration needs to support facilities to manage multi-versions of an ontology and to manage how an ontology evolves. However, MFI Ontology registration Ed1 does not have such facilities. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 16 Example1 (1 of 4) :roughly speaking Suppose that ontology A evolves as follows; RC1 <owl:ObjectProperty rdf:ID="dimensionality"> <rdfs:domain rdf:resource="#Unit" /> <rdfs:range rdf:resource="#Dimensionality" /> </owl:ObjectProperty> RC2 RC2 <owl:Class rdf:ID="KernelUnit"> <rdfs:subClassOf rdf:resource="#Unit"/> </owl:Class> <owl:Class rdf:ID="KernelUnit"> <owl:disjointWith rdf:resource="#Unit/> </owl:Class> RC3 <KernelUnit rdf:ID="metre"> <dimensionality> <Dimensionality rdf:ID="length"/> </dimensionality> </KernelUnit> 2007/12/07 evolves Note: “subClassOf “and “disjointWith” are very different semantically. 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 17 Example1 (2 of 4) :roughly speaking Although RC2 evolves substantially, there is no change in MFI Ontology registration Ed1 except (Namespace)URI and some Adminitered Information since “subClassOf” and “disjointWith” have no effect to MFI Ontology registration. A URI Administered Info. Ontology Whole Ontology Component Ontology Atomic Construct 2007/12/07 RC1 NamespaceURI Administered Info. dimensionality NamespaceURI Administered Info. RC2 NamespaceURI Administered Info. Dimensionality NamespaceURI Administered Info. Unit NamespaceURI Administered Info. metre NamespaceURI Administered Info. KernelUnit NamespaceURI Administered Info. 東京電力・システム企画部・岡部雅夫 RC3 NamespaceURI Administered Info. length NamespaceURI Administered Info. 目的外使用・複製禁止 18 Example1 (3 of 4): more precisely speaking Fortunately or unfortunately, usually, different versions of an ontology are identified by different URIs. For example, The current version of famous OWL Wine ontology is identified by http://www.w3. org /TR/2003/PR-owl-guide20031209/wine, which is also xmlns and xml:base. The prior version is identified by http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine, which is also xmlns and xml:base. So, in the current version, “wine” is http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#wine but, in the prior version, it is http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#wine and they are different. Then, in MFI Ontology registration registry, every component and atomic constructs of the current version and of the prior version are regarded as different since they are identified by NamespaceURI-prefixed name. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 19 Example1 (4 of 4) : more precisely speaking In MFI Ontology registration, ontology A ver.1 and ontology A ver.2 are treated as comletely different since their (Namespace)URIs are different, although they are practically same except RC2 are substantially different. completely different <ver. 1> A URI _1 Admin. Info. Admin. Info. RC1 RC2 <ver. 2> A URI _2 RC3 RC1 RC3 RC2 NsURI_1 NsURI_1 NsURI_1 NsURI_2 NsURI_2 NsURI_2 Admin. Info. Admin. Info. Admin. Info. Admin. Info. Admin. Info. Admin. Info. dimensionality Unit NsURI_1 NsURI_1 Admin. Info. Admin. Info. Dimensionality NsURI_1 Admin. Info. 2007/12/07 metre dimensionality Unit metre NsURI_1 NsURI_2 NsURI_2 NsURI_2 Admin. Info. Admin. Info. Admin. Info. Admin. Info. KernelUnit NsURI_1 Admin. Info. length Dimensionality NsURI_1 NsURI_2 Admin. Info. Admin. Info. 東京電力・システム企画部・岡部雅夫 KernelUnit NsURI_2 Admin. Info. 目的外使用・複製禁止 length NsURI_2 Admin. Info. 20 Example2 In the case that ontology B uses ontology A ver.1 and that ontology C uses ontology A ver.2 What MFI Ontology registration can recognize is ontology B use ontology A ver.1 ontology A ver.2 use ontology C In MFI Ontology registration Ed1, the fact that “ontology B uses ontology A ver.1” is represented as “an ontology_whole of ontology B consists of ontology_components of ontology A ver.1”. But, ontology A ver.1 and ontology A ver.2 are different ontologies and not different versions of the same ontology. and not ontology B 2007/12/07 ontology A use ver.1 evolves ver.2 東京電力・システム企画部・岡部雅夫 use ontology C 目的外使用・複製禁止 21 1. What is MFI Ontology registration Ed1? 2. What lacks in MFI Ontology registration Ed1? 3. Evolution management in MFI Ontology registration Ed2 4. Other topics in MFI Ontology registration 5. Overview of proposed Ed2 metamodel 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 22 What is MFI Ontology registration Ed2? MFI Ontology registration Ed2 supports facilities to manage multi-versions of an ontology and to manage how an ontology evolves, since ontologies are reused mutually and ontologies evolve gradually as they capture more semantics by nature. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 23 Overview: example1 evolves from ver.1 to ver.2 Some other metadata such as backward compatibility etc. A URI _1 evolves Admin. Info. <ver. 1> RC1 RC2 RC3 A URI _2 Admin. Info. RC1 <ver. 2> RC3 RC2 NsURI_1 NsURI_1 NsURI_1 NsURI_2 NsURI_2 NsURI_2 Admin. Info. Admin. Info. Admin. Info. Admin. Info. Admin. Info. Admin. Info. dimensionality Unit NsURI_1 NsURI_1 Admin. Info. Admin. Info. Dimensionality NsURI_1 Admin. Info. metre same NsURI_1 Admin. Info. KernelUnit NsURI_1 Admin. Info. dimensionality same metre Unit length NsURI_2 NsURI_2 NsURI_2 Admin. Info. Admin. Info. Admin. Info. Dimensionality NsURI_1 NsURI_2 Admin. Info. Admin. Info. KernelUnit NsURI_2 length NsURI_2 Admin. Info. Admin. Info. 目的外使用・複製禁止 24 corresponds to 2007/12/07 東京電力・システム企画部・岡部雅夫 Three cases There are three cases that an ontology evolves outside MFI Ontology registration registry. Case1 Different URIs for each version of an ontology and different URIs for each version of names in an otology Case2 Different URIs for each version of an ontology, but mostly the same URIs for each version of names in an ontology This is a typical case. Case3 Same URI for each version of an ontology. Usually, this is the case that Persistent URLs are used. e.g. http://purl.org/dc/elements/1.1/ Since MFI Ontology registration is so generic, it should support all of them. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 25 Case1 (1 of 2) Different URIs for each version of an ontology and different URIs for each version of symbols in an otology This is the case shown as the example1 in Overview (at slide 24) etc. It is not easy to decide whether the corresponding symbols have the same semantics or not. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 26 Case1 (2 of 2) For example, concerning “KernelUnit” Probably, many people say “KernelUnit in ver.1 and in ver.2 have different semantics because in ver.1, KernelUnit is a subclass of Unit but in ver.2, KernelUnit is disjoint with Unit. Then, how about Unit? Some people may say “Unit in ver.1 and in ver2 have different semantics because in ver.1 Unit has KernelUnit as a subclass, but not in ver.2”. But, others may say “No. That difference is not about Unit but about KernelUnit .” How about metre? Some people may say “Metre in ver.1 and in ver.2 have different semantics because in ver.1, metre is an instance of Unit, but not in ver. 2”. But, probably many say “No. They are the same” 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 27 Case 2 (1 of 2) Different URIs for each version of an ontology, but mostly the same URIs for each version of names in an ontology See example3 at next slide. In this case, Unit, KernelUnit and metre are identical in ver.1 and ver.2 as symbols since they have the same NsURI_1 both in ver.1 and ver.2. However, it is still not easy to decide whether they have the same semantics in ver.1 and ver.2. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 28 Case2 (2 of 2): example 3 A URI _1 <ver. 1> RC1 evolves from ver.1 to ver.2 Some other metadata such as backward compatibility etc. evolves Admin. Info. RC2 Admin. Info. RC1 RC3 A URI _2 RC2 <ver. 2> RC3 NsURI_1 NsURI_1 NsURI_1 NsURI_2 NsURI_2 NsURI_2 Admin. Info. Admin. Info. Admin. Info. Admin. Info. Admin. Info. Admin. Info. metre length same Unit Dimensionality dimensionality NsURI_1 NsURI_1 NsURI_1 Admin. Info. Admin. Info. Admin. Info. 2007/12/07 same KernelUnit NsURI_1 東京電力・システム企画部・岡部雅夫 Admin. Info. NsURI_1 NsURI_1 Admin. Info. Admin. Info. 目的外使用・複製禁止 29 Case3 Same URI for each version of an ontology This is a case that an ontology is just updated and mulch-versions cannot be supported. MFI Ontology registration can at least update the administered information such as “version”, “effective date” etc. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 30 Issues to be resolved Whether fork-type evolution is acceptable or not? Maybe, for local ontologies, yes, but for reference ontologies, no, since reference ontologies should be standardized. Whether a new version may have the same URI as its prior version? ver.1 ver.2 ver.4 ver.3 ver.5 fork-type evolution If always only the latest version is necessary, it is fine. Actually, Persistent URLs are very convenient. But, if multi-versions are necessary, it is not advisable (i.e. Case 3). Exact metadata (references and attributes) that MFI Ontology registration metamodel shall have. China is extensively studying them. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 31 1. What is MFI Ontology registration Ed1? 2. What lacks in MFI Ontology registration Ed1? 3. Evolution management in MFI Ontology registration Ed2 4. Other topics in MFI Ontology registration Ed2 5. Overview of proposed Ed2 metamodel 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 32 1) Relation between reference and local ontology will be expanded. Motivation (1 of 2) The relation between reference ontology and local ontology in MFI Ontology registration Ed1 needs to be expanded to a partial-ordered relation. MFI Ontology registration Ed1 defines Reference Ontology and Local Ontology as follows; Reference Ontology –ontology that is usable and sharable by a community of interest Local Ontology –ontology that is specialized for defined applications and based on at least one reference ontology puts the following constraints on local ontology. A local_ontology_component shall be consisted of by exactly one local_ontology_whole and not by a reference_ontology_whole since it is localized. A local_ontology_atomic_construct shall be used by exactly one local_ontology_component and not by a reference_ontology_component since it is localized. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 33 1) Relation between reference and local ontology will be expanded. Motivation (2 of 2) By nature, however, ontologies are reused mutually. Even local ontologies should be able to reused by other local ontologies in some extent. MFI Ontology registration Ed2 will introduce a partial order relation among local ontologies to control the extent that local ontologies can be reused by other local ontologies. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 34 1) Relation between reference and local ontology will be expanded A partial ordered set “Reusable Level” MFI Ontology registration Ed2 will introduce a partial ordered set called “Reusable Level”. There is an element R“Reusable Level” For any element e “Reusable Level”, e R Example R L1 L2 L4 L5 L3 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 35 1) Relation between reference and local ontology will be expanded A reference “reusability” Ontology Whole, Ontology Component and Ontology Atomic Construct will have a reference called “reusability” to “Reusable Level” with its multiplicity 1:1. Ontolgy Whole O has R as reusability iff O is a reference ontology. Ontology Component C has R as reusability iff C is a reference ontology component. Ontology Atomic Construct A has R as reusability iff A is a reference ontology atomic construct. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 36 1) Relation between reference and local ontology will be expanded Extended constraints for reusability Extended constraints in ED2 A local_ontology_component with reusability Ln can be consisted of by an ontology_whole with reusability Lm iff Lm Ln. A local_ontology_atomic_construct with reusability Ln can be used by a local_ontology_component with reusability Lm iff Lm Ln. Note: This is a natural extension of the following constraints in Ed1. A local_ontology_component shall be consisted of by exactly one local_ontology_whole and not by a reference_ontology_whole . A local_ontology_atomic_construct shall be used by exactly one local_ontology_component and not by a reference_ontology_component. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 37 1) Relation between reference and local ontology will be expanded Example A reference ontology component can be reused by any ontology component since reference ontology component has maximum reusability R. R A local ontology atomic construct with reusability L1 can be reused by a local ontology component with reusability L1, L3 or L4 and not with R, L2 or L5. 2007/12/07 L1 L2 L4 L5 L3 東京電力・システム企画部・岡部雅夫 A local ontology atomic construct with reusability L2 can be reused by a local ontology component with reusability L2, L3, L4 or L5 and not with R or L1. 目的外使用・複製禁止 38 2) Ed2 will support ontology inclusion. (1 of 2) Ed1 does not support ontology inclusion such as “owl:import”. So, in the case of imports ontology sentence symbol A B C-A1 A-A1 C-A2 A-A2 A-A3 C-B1 C-B2 A-B1 A-B2 Ed1 simply registers ontology A as follows, expanding “import”. A ontology whole ontology component ontology atomic construct 2007/12/07 C-A1 A-A1 C-A2 A-A2 A-A3 東京電力・システム企画部・岡部雅夫 C-B1 C-B2 A-B1 A-B2 目的外使用・複製禁止 39 2) Ed2 will support ontology inclusion. (2 of 2) But, Ed1 has a problem in the case that ontology B is not registered because in that case ontology A cannot expand ontology B. So, Ed2 will simply register ontology A as it is as follows, ontology whole ontology component ontology atomic construct imports A C-A1 A-A1 B C-A2 A-A2 A-A3 Note: Since ontology B is not registered, the information on the ontology component and ontology atomic construct of ontology B cannot be gained, but a part of the information on the ontology whole of ontology B can be gained from ontology A. 目的外使用・複製禁止 3) Ed2 will use IRIs, rather than URIs. To support non-European characters, including Hungul, Chinese and Japanese character, MFI Ontology registration Ed2 will use IRIs, rather than URIs. IRI : RFC 3987 Internationalized Resource Identifiers (IRIs), IETF Proposed Standard 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 41 1. What is MFI Ontology registration Ed1? 2. What lacks in MFI Ontology registration Ed1? 3. Evolution management in MFI Ontology registration Ed2 4. Other topics in MFI Ontology registration Ed2 5. Overview of proposed Ed2 metamodel 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 42 Overview of proposed Ed2 metamodel Evolution and reusability view Reusable Level Ontology Whole lessThanOrEqual imports reusability evolvesTo only if reusability of an ontology whole is lessThanOrEqual to reusability of an ontology component. evolvesTo Ontology Component sameAs reusability only if reusability of an ontology component is lessThanOrEqual to reusability of an ontology atomic construct. correspondsTo Ontology Atomic Construct sameAs 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 43 Overview of proposed Ed2 metamodel Reference and Local Ontology view 0:1 Reference Ontology evolvesTo Local Ontology 0:1 evolvesTo Whole 0:1 Whole 0:1 0:* 0:1 only if reusability of an ontology component evolvesTo is lessThanOrEqual to reusability of an ontology atomic construct. 0:1 Reference Ontology sameAs Local Ontology 0:1 evolvesTo Component 0:1 0:* Component 0:* 0:1 0:1 0:1 evolvesTo evolvesTo only if reusability of an ontology whole is lessThanOrEqual to reusability of an ontology component. 0:1 Reference Ontology sameAs Local Ontology 0:1 Atomic Construct 0:1 0:* Atomic Construct correspondsTo 0:1 0:1 0:* 0:1 evolvesTo correspondsTo Note: The associations “imports” are omitted just for simplicity 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 44 Thank you for your attention. MFI Ontology registration Ed2 WD is in preparation. Any comments and/or contributions are very welcome to okabe.masao<at>tepco.co.jp. 2007/12/07 東京電力・システム企画部・岡部雅夫 目的外使用・複製禁止 45
© Copyright 2024 ExpyDoc