Summary of the invention
To the shortcoming of prior art, the purpose of this invention is to provide a kind of fuzzy ontology describing module that can directly express the support self-defining data type of fuzzy message.
For realizing above-mentioned purpose, technical scheme of the present invention is:
A kind of fuzzy ontology describing module of supporting the self-defining data type comprises:
Data structure block;
Body vague description logic module towards semantic net; On the basis of OWL2, the body vague description logic towards semantic net is expanded, it comprises in data structure block and to add User Defined fuzzy data type and abstract object type, interpolation variable;
The fuzzy ontology descriptive language module that equates with body vague description logic, it utilizes data structure block that the fuzzy ontology in the fuzzy ontology descriptive language module is described;
Fuzzy ontology editor's software module is used for the fuzzy ontology document is handled and generated to the data structure of data construction module;
Body vague description logic module, fuzzy ontology descriptive language module, software module are connected with data structure block respectively.
In the such scheme, said data structure block comprises fuzzy qualifier data structure block, the fuzzy concept data structure block that contains fuzzy concept, the fuzzy data categorical data construction module that contains the fuzzy data type, the fuzzy object attribute data structures module that contains the fuzzy object attribute, the fuzzy axiom data structure block that contains fuzzy axiom that contains fuzzy qualifier, the variable data construction module that contains variable.
In the such scheme; In fuzzy ontology descriptive language module, be provided with the fuzzy ontology describing module; A fuzzy ontology describing module is formed each ingredient setting expression grammer separately by fuzzy qualifier, fuzzy concept, fuzzy data type, fuzzy object attribute, fuzzy axiom, variable.
In the such scheme; The variable that adds in the body vague description logic module of semantic net comprises concrete variable and abstract variable; Concrete variable is represented one a section interval of its data type or a set of a plurality of values; A kind of fuzzy concrete data type of each set representative interval or each value, abstract variable is represented the one or more groups of individuals under the same Ontological concept, a kind of fuzzy abstract object type of each set representative.
In the such scheme; Said interpolation User Defined fuzzy data type and abstract object type are that the data structure in fuzzy qualifier data structure block, fuzzy data categorical data construction module, the fuzzy object attribute data structures module is added, User Defined fuzzy data type and abstract object type logic specifically:
In fuzzy data categorical data construction module; Fuzzy data type fd=f (
;
;
...
); F is the subordinate function definition of fuzzy data type, and
is concrete variable;
In fuzzy qualifier data structure block; Fuzzy qualifier Mod=m (
;
;
...
); M is the subordinate function definition of fuzzy qualifier, and
is concrete variable;
In fuzzy object attribute data structures module; Fuzzy abstract attribute R=r (
); R is the subordinate function definition of fuzzy object attribute,
abstract variable.
In the such scheme, said fuzzy ontology editor's software module comprises the interface module that is used to define the semantic rdf module of each linguistic labels, is used for process user input and virtual reality, be used to handle the fuzzy ontology descriptive language of fuzzy ontology data structure and data structure inquiry data structure and operational module, be used for being responsible for the fuzzy ontology document formatting generation module of fuzzy ontology data structure format generation fuzzy ontology document, be used to read the document that generates data structure behind the document and generate the ontology data construction module.
Compared with prior art, the present invention has following beneficial effect:
The present invention has expanded the ability to express of fuzzy ontology, can directly express fuzzy message, supports user-defined data type, and has made up the data structure of fuzzy ontology descriptive language.
Embodiment
Below in conjunction with accompanying drawing and embodiment the present invention is carried out detailed description.
As shown in Figure 1, the present invention provides a kind of fuzzy ontology describing module of supporting the self-defining data type, comprising:
Data structure block;
Body vague description logic module towards semantic net; On the basis of OWL2, the body vague description logic towards semantic net is expanded, it comprises in data structure block and to add User Defined fuzzy data type and abstract object type, interpolation variable; The variable that adds in the body vague description logic module of semantic net comprises concrete variable and abstract variable; Concrete variable is represented one a section interval of its data type or a set of a plurality of values; A kind of fuzzy concrete data type of each set representative interval or each value; Abstract variable is represented the one or more groups of individuals under the same Ontological concept, a kind of fuzzy abstract object type of each set representative.
The fuzzy ontology descriptive language module that equates with body vague description logic, it utilizes data structure block that the fuzzy ontology in the fuzzy ontology descriptive language module is described;
Fuzzy ontology editor's software module is used for the fuzzy ontology document is handled and generated to the data structure of data construction module;
Body vague description logic module, fuzzy ontology descriptive language module, software module are connected with data structure block respectively.
Data structure block comprises fuzzy qualifier data structure block, the fuzzy concept data structure block that contains fuzzy concept, the fuzzy data categorical data construction module that contains the fuzzy data type, the fuzzy object attribute data structures module that contains the fuzzy object attribute, the fuzzy axiom data structure block that contains fuzzy axiom that contains fuzzy qualifier, the variable data construction module that contains variable.
The attribute of fuzzy qualifier data structure block comprises name, type, subordinate function structure and note:
1) type has linear, triangular and custom_function;
2) attribute that comprises of subordinate function structure has parameter list, formula module, and this structure is the fog-level of the fuzzy qualifier of given User Defined;
The attribute that parameter list comprises has the scope of parameter and parameter;
The formula module comprises the description that formula is arranged of attribute and the constraint of formula.
The fuzzy concept data structure block comprises the fuzzy concept structure chained list of four seed categories: modifiedclass_list, weightedclass_list, multipleWeighted_list and nominalsclass_list.Each chained list is made up of the concept structure of respective type.
1) attribute of Modified class structure has: notion name, qualifier modifier;
2) attribute of Weighted class structure has: notion name, weighted value, the notion name that has defined;
3) multipleWeighted class structure attribute comprises: notion name, Weighted class tabulation;
4) Nominals class structure attribute has: notion name, nominal tabulation;
Nominal structure attribute: individual (Individual), individual corresponding value value.
Fuzzy data class data structure block is divided into six sub-structures according to the fuzzy data type: have qualifier data type structure chained list, leftshoulder data structure chained list, rightshoulder data structure chained list, triangular data structure chained list, trapezoidal data structure chained list and user-defined data type chained list.
1) has qualifier data type structure chained list modifieddatatype_list
Having qualifier data type structure chained list modifieddatatype_list is connected to form by a plurality of modifieddatatype structure nodes.
The Modifieddatatype structure attribute has: name, qualifier modifier, modified data type datatype, affiliated territory domain and note attribute comment.
2) leftshoulder data structure chained list
Node in the leftshoulder data structure chained list is the leftshoulder data structure.
Leftshoulder data type attribute: name, parameter list (double type array), affiliated territory domain and note attribute comment.
3) rightshoulder data structure chained list
Node in the rightshoulder data structure chained list is the rightshoulder data structure.
Rightshoulder data type attribute: name, parameter list (double type array),, affiliated territory domain and note attribute (omment.
4) triangular data structure chained list
Node in the triangular data structure chained list is the triangular data structure.
Triangular data type attribute: name, parameter list (double type array), affiliated territory domain and note attribute comment.
5) trapezoidal data structure chained list
Node in the trapezoidal data structure chained list is the trapezoidal data structure.
Trapezoidal data type attribute: name, parameter list (double type array), affiliated territory domain and note attribute comment.
6) user-defined data type Udefinited
User-defined data type Udefinited attribute: data type name, subordinate function structure Membershipfunction, affiliated territory domain and note attribute comment.
Fuzzy object attribute data structures module comprises tabulation ModifiedObjectProperty_list that has qualifier type fuzzy object attribute and the fuzzy object attribute list ObjectProperty_list that has variable.
(1)?ModifiedObjectPropert
The ModifiedObjectPropert type structure is the node of ModifiedObjectProperty_list.
ModifiedObjectPropert attribute: object properties name, qualifier modifier, modified object properties ObjectProperty, affiliated territory domain and note attribute comment.
(2)?ObjectProperty
The ObjectProperty type structure is the node of ObjectProperty_list.
ObjectProperty attribute: object properties name, variable variable, affiliated territory domain and note attribute comment.
Fuzzy axiom FuzzyAxiom data structure block attribute comprises: axiom, degree of membership degree and note comment.
Variable V ariable data structure block attribute has: variable name, variable basic data type range and range constraint restriction.
In fuzzy ontology descriptive language module, be provided with the fuzzy ontology describing module; A fuzzy ontology describing module is formed each ingredient setting expression grammer separately by fuzzy qualifier, fuzzy concept, fuzzy data type, fuzzy object attribute, fuzzy axiom, variable.
Adding User Defined fuzzy data type is that the data structure of bluring in qualifier data structure block, fuzzy data categorical data construction module, the fuzzy object attribute data structures module is added with the abstract object type, User Defined fuzzy data type and abstract object type logic specifically:
In the fuzzy data type block; Fuzzy data type fd=f (
;
;
...
); F is the subordinate function definition of fuzzy data type, and
is concrete variable;
In fuzzy qualifier module; Fuzzy qualifier Mod=m (
;
;
...
); M is the subordinate function definition of fuzzy qualifier, and
is concrete variable;
In the fuzzy object attribute module; Fuzzy abstract attribute R=r (
); R is the subordinate function definition of fuzzy object attribute,
abstract variable.
Fuzzy ontology description logic grammer after the expansion is specially:
C, D are fuzzy concepts, possibly be complicated fuzzy concept fuzzy concepts;
A is atom fuzzy concept atomic fuzzy concept;
R is (possibly be complicated) abstract fuzzy role abstract fuzzy role;
is the fuzzy role atomic fuzzy role of an atom;
is a concrete fuzzy role concrete fuzzy role, is also referred to as data type fuzzy datatype;
A; B is abstract individual abstract individuals,
be concrete individual concrete individual;
N, m are natural numbers, n >=0, m>0;
Mod is a fuzzy modifier;
∈{≥,?},?{≤,?},
{≥,?,≤,?};
α∈[0,1];
X, y are concrete variable;
,
is abstract variable.
Definition according to fuzzy set; In fuzzy ontology; A notion C resolves and becomes a fuzzy set; Have following grammer: Fuzzy Concept=A| | ⊥ | C
D| C
D | C | R.C | R.C | T.x; T.x | { α/a } |>=k R.C |≤k R.C |>=k T.x |≤k T.x | S.Self | mod (C) | α C | (
)+(
)+... + (
) | C
, C
.
Its semanteme is specially:
Suppose to resolve I=<
;
;
>; Wherein,
universe;
is concrete territory (
∈
; In concrete fuzzy role; The outer type of User Defined is to belong to
);
is the data type territory that variable is represented,
is analytical function.Each notion;
shines upon notion C to a subordinate function:
:
→ [0; 1]; To each individual a ∈ IN,
is mapped to an element on
with individual a:
∈
.To each abstract roles R (perhaps typedrole T);
mapping R (perhaps T) is to a subordinate function:
:
*
→ [0; 1];
:
*
→ [0; 1] (perhaps
:
*
→ [0,1]).For each fuzzyconcrete domain d;
provides its subordinate function in the scope of concrete territory
:
→ [0,1].For each modifier;
is mapped to subordinate function a: mod with it: [0; 1] → [0,1].
Fuzzy qualifier, fuzzy concept, fuzzy data type, fuzzy object attribute, fuzzy axiom, variable expression grammer separately are specially:
1. fuzzy qualifier Fuzzy modifier
Fuzzy modifier is function a: f (mod): [0,1] → [0,1].The type of Modifier will be expanded self-defining type except supporting these two types of liner, triangular.
Mod : linear?(a)
Triangular(a,?b,?c)
<custom?function?>(x1,?x2,?x3,?…?xn)
A wherein, b, c, ai ∈ [0,1], a <b < c.
Linear and triangular can regard blanket as for these two types, can be used among a plurality of modifier, and custom function are user-defined, are applicable to certain narrow type.User-defined function is labeled as M, x1, and x2, x3 ... Xn is that variable or other datatype property one quotes.
Markup such as the following table used in the grammatical representation of fuzzy qualifier:
Name |
Upper markup |
Illustrate |
Fuzzyowl: Modifier |
? |
State a modifier |
Fuzzyowl: Parameter |
Fuzzyowl: Modifier |
The subordinate function parameter of statement modifier |
Fuzzyowl: PRestriction |
Fuzzyowl: Parameter |
The constraint of statement parameter |
Fuzzyowl: Valueeq |
Fuzzyowl: PRestriction |
Parameter equals a value |
Fuzzyowl: Maxvalue |
Fuzzyowl: PRestriction |
The maximal value of parameter |
Fuzzyowl:Minvalue |
Fuzzyowl: PRestriction |
The parameter minimum value |
Fuzzyowl: NValueeq |
Fuzzyowl: PRestriction |
Parameter is not equal to a value |
Fuzzyowl: Function |
Fuzzyowl: Modifier |
The subordinate function of statement Modifier |
Fuzzyowl: FRestriction |
Fuzzyowl: Modifier |
The constraint condition of statement subordinate function |
rdfs:comment |
? |
The explanation of Modifier |
2. fuzzy concept Fuzzy class
Fuzzy concept is meant by other notions and does not comprise generally having the notion of bluring attribute or general property through modifying the back, having the notion that is combined to form on that several associations of ideas of weight form, single weight notion and these a few conception of species aspects of individual collections.Markup that uses in its grammatical representation such as following table:
Name |
Upper markup |
Illustrate |
Fuzzyowl: fuzzyclass |
? |
State a fuzzy concept and name thereof |
fuzzyclass: modified |
Fuzzyowl: fuzzyclass |
Statement has the notion of qualifier |
fuzzyclass: Weighted |
Fuzzyowl: fuzzyclass |
Statement has the notion of weight |
fuzzyclass: multipleWeighted |
Fuzzyowl: fuzzyclass |
Statement has the fuzzy concept of a plurality of notions formation of weight |
fuzzyclass: nominals |
Fuzzyowl: fuzzyclass |
The fuzzy concept of statement individual collections type |
Fuzzyowl : Modifier |
fuzzyclass: modified |
The qualifier of notion |
Fuzzyowl : class |
fuzzyclass: modified |
Quoting of adorned notion |
Fuzzyowl: weightedvalue |
fuzzyclass: Weighted |
Weighted value |
Fuzzyowl: Individual |
? |
Quote the individuality that has defined |
Fuzzy concept has four types: modified concept, weighted concept, multiple weighted concept and nominals concept.
(1)modified?concept:
If general notion becomes a new fuzzy concept after going up fuzzy qualifier; Describe modified concept and will state its qualifier and adorned notion; Adorned notion can be accurate notion, and " Fuzzyowl: class " quotes by label, and form is:
<Fuzzyowl?:?class rdf?:?resource=”refe_?file;name?of?class”?/?>
Statement for weight:
<fuzzyowl:weightedvalue rdf:datatype=" &xsd; Xsd datatype ">Value</Fuzzyowl:weightedvalue>
(2)?weighted?concept
Weighted concept has comprised weight and notion two parts of quoting.Label in the form can well be stated this two parts.
(3)?multiple?weighted?concept
Multiple weighted concept is made up of a plurality of weighted concept:
<?fuzzyclass:?multipleWeighted?>
<fuzzyclass:?Weighted?>?…?</?fuzzyclass:?Weighted?>
<fuzzyclass:?Weighted?>?…?</?fuzzyclass:?Weighted?>
<fuzzyclass:?Weighted?>?…?</?fuzzyclass:?Weighted?>
<?/fuzzyclass:?multipleWeighted?>
(4)?nominals?concept
Nominals concept is made up of a plurality of individualities that have the numerical value 0 to 1, and each individual numerical value with it is formed nominal, and one or more nominal have been combined into a notion:
<?fuzzyclass:?nominals?>
<?fuzzyclass:?nominal>
<fuzzyowl:weightedvalue rdf:datatype=" &xsd; Xsd datatype ">Value</Fuzzyowl:weightedvalue>
<Fuzzyowl:?Individual?rdf?:resource=”refe_?file;individual?name”>
</?fuzzyclass:?nominal>
A plurality of nominal structures
</?fuzzyclass:?nominals?>
3. fuzzy data type fuzzy datatype
Corresponding to the attribute that uses basic data type to express, the value of fuzzy data type is not accurate to the fuzzy data type, unique value, but representation attribute possibility within the specific limits in body.According to concrete variable explanation in the described variable, a variable promptly is the data type of an expression certain limit, and true value degree and variable in the scope of variable representative have constituted the fuzzy data type.The fuzzy data type is divided into two big types: fuzzy atomic data type and the data type Fuzzy modified datatypes that has fuzzy qualifier.Fuzzy atomic data type mainly is made up of variable and subordinate function.Expression according to subordinate function is divided into: leftshoulder, rightshoulder, triangular, four kinds of fundamental types of trapezoidal and support user-defined UDefined type.The user can state new fuzzy data type in the UDefined type.Fuzzy data type after the expansion can both become basic fuzzy data type as basic data type.During the ontology definition attribute, as the given numerical value of definition constraint or quoting concrete variable gets final product.
4. fuzzy object attribute Fuzzy object property
Abstract fuzzy attribute semantically can be divided into two kinds, and a kind of is the abstract attribute that has the qualifier prefix, and another kind is the abstract attribute that has abstract variable.
1) has the abstract attribute of qualifier prefix
From bluring semantically, attribute is thickening under the situation that has the qualifier prefix, forms a new fuzzy abstract attribute.
2) have the abstract attribute of abstract variable
The relation that makes of quoting of variable is not limited only between two objects (one to one), possibly be that an object is with (one-to-many) between a plurality of objects.When instantiation had the abstract attribute of variable, variable needed instantiation, promptly was variable assignments.
The markup that the fuzzy object attribute grammar uses has:
Name |
Upper markup |
Illustrate |
Fuzzyowl: fuzzyObjectProperty |
? |
State a fuzzy object attribute |
Fuzzyowl: modifier |
Fuzzyowl: fuzzyObjectProperty |
Quote a qualifier |
owl: ObjectProperty |
Fuzzyowl: fuzzyObjectProperty |
Quote adorned object properties |
rdfs:domain |
Fuzzyowl: fuzzyObjectProperty |
Notion under the fuzzy object attribute |
rdfs:range |
Fuzzyowl: fuzzyObjectProperty |
Reference to variable |
5. fuzzy axiom fuzzy axiom
Fuzzy axiom is a given true value on the basis of classical axiom, representes the really degree of this axiom, after the axiom that owl 2 describes, adds the true value degree of this axiom, and its fuzzy information has partly been added in description that like this can compatible owl 2 simultaneously
Name |
Upper markup |
Illustrate |
Fuzzyowl: fuzzyaxiom |
? |
Quote the axiom that needs to add the true value degree |
Fuzzyowl:degree |
Fuzzyowl: fuzzyaxiom |
Value between [0,1] |
6. variable variable
Variable has two major types: concrete variable concrete variable and abstract abstract variable.Express grammer and use following semantic label:
Name |
Upper markup |
Illustrate |
Fuzzyowl: Datatypevariable |
? |
State a concrete variable |
Fuzzyowl:Objectvariable |
? |
State an abstract variable |
rdfs:range |
Fuzzyowl:Objectvariable,Fuzzyowl: Datatypevariable |
The fundamental type of variable: int, string ... And classes |
Fuzzyowl:PRestriction |
Fuzzyowl:Objectvariable,Fuzzyowl: Datatypevariable |
Range constraint |
Fuzzyowl: Valueeq |
Fuzzyowl: PRestriction |
In the range constraint, variable equals a value |
Fuzzyowl: Maxvalue |
Fuzzyowl: PRestriction |
The maximal value of variable |
Fuzzyowl:Minvalue |
Fuzzyowl: PRestriction |
The variable minimum value |
Fuzzyowl: NValueeq |
Fuzzyowl: PRestriction |
Variable is not equal to a value |
When variable is the set of a plurality of values, repeatedly use Fuzzyowl:Valueeq to represent all values.
As shown in Figure 2, fuzzy ontology editor's software module comprises the interface module that is used to define the semantic rdf module of each linguistic labels, is used for process user input and virtual reality, be used to handle the fuzzy ontology descriptive language of fuzzy ontology data structure and data structure inquiry data structure and operational module, be used for being responsible for the fuzzy ontology document formatting generation module of fuzzy ontology data structure format generation fuzzy ontology document, be used to read the document that generates data structure behind the document and generate the ontology data construction module.
As shown in Figure 3, utilize fuzzy ontology software for editing module to generate ontology file and comprise step:
1) newly-built or read in document: the user is to the foundation of fuzzy ontology or read in existing fuzzy ontology document;
2) user interactions: the user is to the editor of fuzzy ontology;
3) generate related data structure: the user generates related data structure to fuzzy ontology after the operation on the interface module;
4) data structure formatization: data structure formatization is expressed as the fuzzy ontology language;
5) semantic grammar inspection: according to generating or format outputs to the ontology document lang justice syntax check of advancing of each label that has defined in the rdf document;
6) output document: be saved in document.