以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  通过数据库创建本体库,我设计的表,大家指点  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=39627)


--  作者:chendq
--  发布时间:11/2/2006 10:12:00 AM

--  通过数据库创建本体库,我设计的表,大家指点
表1.owl_object(项目表)
字段名称 注释 类型 是否为空? 默认值
Object_ID 编号(关键字) Number  否 
Object_name 项目名称 varchar 否 
Object_note 项目注释 varchar  
Add_user 添加人 varchar 否 
Add_time 添加时间 Date  否 

表2.owl_class(类表)
字段名称 注释 类型 是否为空? 默认值
class_ID 编号(关键字) Number  否 
Class_name 类的名称 varchar 否 
class_comment 类的注释 varchar  
Object_id 项目编号 Number 否 
ParentStr 所有上一级节点组合例:21,78,102(因为一个类可能是几个类的子类) varchar 否 0
Add_user 添加人 varchar 否 
Add_time 添加时间 Date  否 
Is_pass 是否通过(1\0) Number 否 0

其中红色部分字段主要是为了体现父子关系。显示方便。Is_pass为0是表示没有经过批准,1为通过批准。
表中还可以加字段,实现评分。
上边的表可以实现一些部分代码:
<owl:Class rdf:ID="mother"/>
<owl:Class rdf:ID="father"/>
  <owl:Class rdf:ID="son">
<rdfs:subClassOf rdf:resource="#mother"/>
<rdfs:subClassOf rdf:resource="#father"/>
  </owl:Class>
<owl:Class rdf:ID="daughter">
    <rdfs:subClassOf rdf:resource="#mother"/>
    <rdfs:subClassOf rdf:resource="#father"/>
</owl:Class>


--  作者:chendq
--  发布时间:11/2/2006 10:12:00 AM

--  
表3.owl_property(属性表)
字段名称 注释 类型 是否为空? 默认值
property_ID 编号(关键字) Number  否 
property _name 属性的名称 varchar 否 
property_comment 属性的注释 varchar  
ParentID 父属性编号 Number 否 
Object_id 项目编号 Number 否 0
Property_kide ObjectProperty或DatetypeProperty varchar 否 
domain 域公理 varchar  
Range 范围公理 varchar  
equivalentProperty 属性间的公理——等价 (只是属性间的关系) Number 否 0
inverseOf 属性间的公理——逆关系公理(只是属性间的关系) Number 否 0
FunctionalProperty 属性的个数限制公理——函数性属性公理有主体和客体 Number 否 0
InverseFuntionalProperty 属性的个数限制公理——逆函数性属性公理 有主体和客体 Number 否 0
InverseFuntionalProperty 属性的逻辑性公理——传递性属性公理有主体和客体 Number 否 0
SymmetricProperty 属性的逻辑性公理——对称性公理指定domain和Range,且必须相同,有主体和客体 Number 否 0
    
    
    
Add_user 添加人 varchar 否 
Add_time 添加时间 Date  否 
Is_pass 是否通过(1\0) Number 否 0

红色为属性描述:


表中还可以加字段,实现评分。个人不建议这种属性之间再建立关系。
以上表实现下列代码:
<owl:ObjectProperty rdf:ID="man_and_wife"/>
<owl:ObjectProperty rdf:ID="man_to_wife">
    <rdfs:subPropertyOf rdf:resource="#man_and_wife"/>
  </owl:ObjectProperty>

注释:在类中有比如“电子商务”是“电子”和“商务”的子类的情况,而属性不会出现这类情况。所以是ParentID,Number类型。只标识上一给的编号。

表4:类间关系表OWL_relation

字段名称 注释 类型 是否为空? 默认值
relation_ID 编号(关键字) Number  否 
class_id1 类编号1 Number 否 
    
property_ID 属性编号 Number 否 
class_id2 类编号2 Number 否 
Add_user 添加人 varchar 否 
Add_time 添加时间 Date  否 
Is_pass 是否通过(1\0) Number 否 0

表5:
存放OWL语法中的一些词:

例如:allValuesFrom
someValuesFrom
hasValue
maxCardinality
minCardinality
Cardinality
Restriction
OnProperty
等。


通过表4和5.实现下列代码:(红色部分为数据库中读出内容)
<owl:Class rdf:about="#father">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#mother"/>
        <owl:onProperty rdf:resource="#man_and_wife"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>

<owl:Class rdf:about="#mother">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#father"/>
        <owl:onProperty rdf:resource="#man_and_wife"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>


--  作者:chendq
--  发布时间:11/2/2006 10:13:00 AM

--  
完整的代码可以为:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://www.owl-ontologies.com/myhome.owl#"
  xml:base="http://www.owl-ontologies.com/myhome.owl">
  <owl:Ontology rdf:about=""/>
  
<owl:Class rdf:ID="mother"/>
<owl:Class rdf:ID="father"/>
  <owl:Class rdf:ID="son">
<rdfs:subClassOf rdf:resource="#mother"/>
<rdfs:subClassOf rdf:resource="#father"/>
  </owl:Class>
<owl:Class rdf:ID="daughter">
    <rdfs:subClassOf rdf:resource="#mother"/>
    <rdfs:subClassOf rdf:resource="#father"/>
</owl:Class>
<owl:ObjectProperty rdf:ID="man_and_wife"/>
<owl:ObjectProperty rdf:ID="man_to_wife">
    <rdfs:subPropertyOf rdf:resource="#man_and_wife"/>
  </owl:ObjectProperty>

<owl:Class rdf:about="#father">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#mother"/>
        <owl:onProperty rdf:resource="#man_and_wife"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>

<owl:Class rdf:about="#mother">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom rdf:resource="#father"/>
        <owl:onProperty rdf:resource="#man_and_wife"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
</rdf:RDF>


--  作者:chendq
--  发布时间:11/2/2006 10:14:00 AM

--  
属性表有待修改,OWL属性的限制实在是不少,所以建设表格很复杂。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
48.828ms