当前位置:首页>房产>离婚房产怎么分?用本体把法律规则变成机器能懂的语言

离婚房产怎么分?用本体把法律规则变成机器能懂的语言

  • 2026-03-12 14:14:58
离婚房产怎么分?用本体把法律规则变成机器能懂的语言

离婚案件中,房产分割争议占比超过 60%。规则散落在民法典和司法解释里,情形复杂、条件交叉。这篇文章用本体建模的方法,把"离婚房产分割"这个领域的概念和规则形式化,走完从零到 OWL 的全过程。


为什么离婚房产分割需要本体

先说一个场景。

一对夫妻要离婚,争的是一套房。男方说:"房子是我婚前买的,首付我出的,写了我名字。"女方说:"婚后一起还了 8 年贷款,凭什么不分?"

这个问题,律师能回答。但如果你要做一个法律咨询 AI,让它准确回答这类问题,你会发现:规则不是一条两条,而是一张网。

房子是婚前买的还是婚后买的?全款还是贷款?谁出的首付?登记在谁名下?父母有没有出资?出资时有没有说明是赠与还是借款?

每个条件的组合,对应不同的分割结果。这些规则散落在《民法典》第 1062 条、第 1063 条、第 1087 条,以及《婚姻家庭编解释(一)》的第 78 条、第 79 条等条文中。

不做形式化整理,AI 只能靠"背条文"来回答。背得再多,也处理不了条件交叉的复杂情形。

本体(Ontology)就是干这个的。把一个领域里的概念、属性、关系、规则定义清楚,让人和机器有统一的理解框架。

和上一篇停车场本体不同,法律领域的本体有几个独特挑战:

特征
停车场
离婚房产分割
概念边界
清晰(车位就是车位)
模糊("共同还贷"包不包括公积金?)
规则类型
业务规则(一个车位停一辆车)
法律规则(有条件、有例外、有裁量空间)
时间依赖
弱(当前状态为主)
强(婚前/婚后是核心判断条件)
主体影响
弱(车就是车)
强(谁出资、登记在谁名下,直接影响结果)

法律本体比技术本体更难建,但也更有价值。


领域分析:离婚房产分割的核心规则

动手建本体之前,先把核心规则梳理清楚。

法律依据

核心条文就这几条:

1
民法典第 1062 条:婚姻关系存续期间取得的财产,为夫妻共同财产。
2
民法典第 1063 条:一方的婚前财产、遗嘱或赠与合同中确定只归一方的财产,为个人财产。
3
民法典第 1087 条:离婚时共同财产由双方协议处理;协议不成的,由法院照顾子女、女方和无过错方权益的原则判决。
4
婚姻家庭编解释(一)第 78 条:婚前一方购房并登记在自己名下,婚后用共同财产还贷的,离婚时房屋归产权登记方,对方获得婚后还贷及对应增值部分的补偿。
5
婚姻家庭编解释(一)第 79 条:婚后父母出资购房,没有约定或约定不明的,视为对夫妻双方的赠与。

8 种典型情形

把法律条文翻译成具体情形:

编号
情形
购房时间
出资方式
登记状态
分割结果
1
婚前一方全款
婚前
一方全款
一方名下
个人财产,不分割
2
婚前首付+婚后共同还贷
婚前
一方首付+共同还贷
一方名下
房归产权方,补偿还贷及增值
3
婚后共同购买
婚后
共同出资
双方名下
共同财产,原则均分
4
婚后一方父母全额出资
婚后
一方父母全款
出资方子女名下
视为对一方赠与
5
婚后双方父母出资
婚后
双方父母
一方或双方名下
按出资比例共有
6
婚后一方父母出资
婚后
一方父母
双方名下
视为对双方赠与
7
继承/受赠房产
婚后
继承或赠与
看遗嘱/赠与合同是否指定归一方
8
拆迁安置房
拆迁补偿
根据被拆迁房屋性质判断

这 8 种情形覆盖了实践中绝大多数离婚房产纠纷。边缘情况(借名买房、小产权房)暂不纳入本体范围。


7 步构建法:从零开始建一个离婚房产分割本体

还是用 Noy & McGuinness 的 Ontology Development 101 方法论。上一篇停车场文章详细介绍过,这里直接用。

Step 1:确定领域和范围

能力问题(Competency Questions):

这套房子是婚前财产还是婚后财产?
首付谁出的?婚后还贷部分是否属于共同还贷?
父母出资的,出资性质是赠与还是借款?
离婚时房屋归谁?另一方能获得多少补偿?
房屋增值部分如何计算和分配?

范围边界:

包括:房屋产权认定、出资分析、分割方式、补偿计算
不包括:其他财产(存款、股票、车辆)、子女抚养、债务分割、诉讼程序

Step 2:考虑复用已有本体

法律领域有一些可参考的本体资源:

LKIF(Legal Knowledge Interchange Format):欧盟资助的法律知识交换格式,定义了规范、行为、角色等通用概念
FLINT 本体:基于 Actor 的法律关系模型,用 RDF/OWL 实现
Schema.org:有 LegalForceStatusLegislation 等法律相关类

没有专门针对"中国离婚房产分割"的现成本体。但 LKIF 中的"规范"和"角色"概念可以借鉴。

Step 3:列举核心术语

把领域里的重要词汇全列出来:

夫妻、丈夫、妻子、父母、公婆、岳父母、子女、房屋、商品房、经济适用房、拆迁安置房、自建房、产权、个人财产、共同财产、按份共有、购房、全款购买、贷款购买、首付、月供、公积金贷款、商业贷款、出资、个人出资、共同出资、父母出资、赠与、借款、登记、产权登记、登记在一方名下、登记在双方名下、婚前、婚后、婚姻关系存续期间、分居期间、分割、归一方所有、变卖分割、竞价取得、补偿、增值、还贷贡献、装修投入、法律依据、民法典、司法解释、判决

40 多个词。接下来整理成类层次。

Step 4:定义类和层次结构

核心步骤。把术语整理成类(Class),建立 is-a 关系。

Thing├── Person(人)│   ├── Spouse(配偶)│   │   ├── Husband(丈夫)│   │   └── Wife(妻子)│   └── Parent(父母)│       ├── HusbandParent(男方父母)│       └── WifeParent(女方父母)├── House(房屋)│   ├── CommercialHouse(商品房)│   ├── AffordableHouse(经济适用房)│   ├── RelocationHouse(拆迁安置房)│   └── SelfBuiltHouse(自建房)├── Ownership(产权状态)│   ├── PersonalProperty(个人财产)│   ├── CommunalProperty(共同财产)│   └── SharedByPortion(按份共有)├── FundingSource(出资来源)│   ├── PersonalFunding(个人出资)│   ├── JointFunding(共同出资)│   └── ParentalFunding(父母出资)│       ├── GiftFunding(赠与性质)│       └── LoanFunding(借款性质)├── PurchaseMethod(购房方式)│   ├── FullPayment(全款购买)│   └── MortgagePurchase(贷款购买)│       ├── CommercialMortgage(商业贷款)│       ├── HousingFundLoan(公积金贷款)│       └── CombinedLoan(组合贷款)├── TimePeriod(时间阶段)│   ├── PreMarriage(婚前)│   ├── DuringMarriage(婚姻存续期间)│   └── Separation(分居期间)├── Registration(产权登记)│   ├── RegisteredToOne(登记在一方名下)│   └── RegisteredToBoth(登记在双方名下)├── DivisionMethod(分割方式)│   ├── AwardToOne(归一方所有+补偿)│   ├── SellAndDivide(变卖后分割)│   ├── BiddingAcquisition(竞价取得)│   └── ContinuedCoOwnership(继续共有)├── DivisionCase(分割情形)│   ├── PreMarriageFullPayment(婚前全款)│   ├── PreMarriageMortgage(婚前贷款婚后还贷)│   ├── JointPurchase(婚后共同购买)│   ├── ParentalFullFunding(父母全额出资)│   └── InheritedHouse(继承/受赠房产)└── LegalBasis(法律依据)    ├── CivilCodeArticle(民法典条文)    └── JudicialInterpretation(司法解释条文)

几个设计决策:

1
Spouse 不直接用 Person。在离婚房产分割中,"配偶"身份是核心,同一个人在不同法律关系中角色不同。
2
FundingSource 单独建类。出资来源是判断产权归属的关键因素。父母出资还要区分"赠与"和"借款",性质不同结果完全不同。
3
TimePeriod 独立出来。婚前还是婚后,是几乎所有分割规则的前置条件。停车场本体里不存在这种时间依赖——车什么时候停进来不影响车位归属。
4
DivisionCase 作为独立类。每种分割情形是一组条件的组合,不是简单的属性值。建成类,方便挂载规则和法律依据。

Step 5:定义属性

对象属性(Object Property)——连接两个类:

属性名
定义域
值域
说明
ownedBy
House
Spouse
产权登记人
purchasedBy
House
Spouse
实际购买人
fundedBy
House
FundingSource
出资来源
purchasedWith
House
PurchaseMethod
购房方式
purchasedDuring
House
TimePeriod
购房时间阶段
registeredAs
House
Registration
登记状态
hasOwnership
House
Ownership
产权性质认定
dividedBy
House
DivisionMethod
分割方式
matchesCase
House
DivisionCase
匹配的分割情形
governedBy
DivisionCase
LegalBasis
适用的法律依据
downPaymentBy
House
Spouse
首付出资人
mortgagePaidBy
House
Spouse
还贷人
parentalFundingFrom
ParentalFunding
Parent
父母出资方

数据属性(Data Property)——连接类和具体值:

属性名
定义域
值类型
说明
purchasePrice
House
decimal
购房总价(元)
downPaymentAmount
House
decimal
首付金额(元)
mortgageAmount
House
decimal
贷款总额(元)
postMarriageRepayment
House
decimal
婚后共同还贷金额(元)
currentValue
House
decimal
房屋现值(元)
appreciationAmount
House
decimal
增值金额(元)
compensationAmount
House
decimal
应补偿金额(元)
purchaseDate
House
date
购房日期
marriageDate
Spouse
date
结婚日期
divorceDate
Spouse
date
离婚日期
articleNumber
LegalBasis
string
条文编号
articleContent
LegalBasis
string
条文内容摘要

和停车场本体比,这里有一个明显特征:很多属性是"条件型"的。purchasedDuring(购房时间阶段)不是简单的描述性属性,而是直接影响分割结果的判断条件。停车场里的 isOccupied 只是状态描述,不会触发复杂的规则链。

Step 6:定义约束

法律本体的约束比技术本体复杂得多。不只是"一个车位只能停一辆车"这种基数约束,而是条件组合约束。

基本约束:

一套房屋只能有一种产权性质 → hasOwnership 是函数型(Functional)
购房时间阶段只能是一个 → purchasedDuring 是函数型
每种分割情形至少关联一条法律依据 → governedBy 最小基数为 1

条件约束(核心):

情形 1——婚前一方全款购房:

PreMarriageFullPayment ≡ DivisionCase ⊓    ∃purchasedDuring.PreMarriage ⊓    ∃purchasedWith.FullPayment ⊓    ∃registeredAs.RegisteredToOne→ hasOwnership = PersonalProperty

情形 2——婚前一方首付 + 婚后共同还贷:

PreMarriageMortgage ≡ DivisionCase ⊓    ∃purchasedDuring.PreMarriage ⊓    ∃purchasedWith.MortgagePurchase ⊓    ∃registeredAs.RegisteredToOne ⊓    ∃mortgagePaidBy.{Husband, Wife}→ dividedBy = AwardToOne(归产权登记方)→ 对方获得 postMarriageRepayment 及对应增值的补偿

情形 3——婚后一方父母全额出资:

ParentalFullFunding ≡ DivisionCase ⊓    ∃purchasedDuring.DuringMarriage ⊓    ∃fundedBy.GiftFunding ⊓    ∃registeredAs.RegisteredToOne→ hasOwnership = PersonalProperty(视为对一方的赠与)

用 OWL Turtle 格式表达情形 2:

:PreMarriageMortgage rdf:type owl:Class ;    owl:equivalentClass [        rdf:type owl:Class ;        owl:intersectionOf (            :DivisionCase            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedDuring ;              owl:someValuesFrom :PreMarriage ]            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedWith ;              owl:someValuesFrom :MortgagePurchase ]            [ rdf:type owl:Restriction ;              owl:onProperty :registeredAs ;              owl:someValuesFrom :RegisteredToOne ]            [ rdf:type owl:Restriction ;              owl:onProperty :postMarriageRepayment ;              owl:someValuesFrom xsd:decimal ]        )    ] ;    rdfs:subClassOf [        rdf:type owl:Restriction ;        owl:onProperty :dividedBy ;        owl:hasValue :AwardToOne    ] ;    rdfs:subClassOf [        rdf:type owl:Restriction ;        owl:onProperty :governedBy ;        owl:hasValue :Article78_JudicialInterpretation    ] .

这段 OWL 代码的意思是:如果一个分割情形满足"婚前购买 + 贷款 + 登记在一方名下 + 存在婚后还贷"四个条件,它就是 PreMarriageMortgage 类的实例。分割方式为"归一方所有+补偿",适用司法解释第 78 条。

Step 7:创建实例

用一个具体案例验证本体。

案例:张三和李四 2015 年结婚。2013 年张三用个人积蓄付了 30 万首付,贷款 70 万买了一套房,登记在张三名下。婚后两人共同还贷 40 万。2026 年离婚时,房屋市值从 100 万涨到 180 万。

# 当事人:ZhangSan rdf:type :Husband ;    :marriageDate "2015-06-01"^^xsd:date ;    :divorceDate "2026-01-15"^^xsd:date .:LiSi rdf:type :Wife ;    :marriageDate "2015-06-01"^^xsd:date ;    :divorceDate "2026-01-15"^^xsd:date .# 房屋:HouseA rdf:type :CommercialHouse ;    :purchasePrice 1000000.00 ;    :downPaymentAmount 300000.00 ;    :mortgageAmount 700000.00 ;    :postMarriageRepayment 400000.00 ;    :currentValue 1800000.00 ;    :purchaseDate "2013-09-20"^^xsd:date ;    :purchasedBy :ZhangSan ;    :downPaymentBy :ZhangSan ;    :purchasedDuring :PreMarriage ;    :purchasedWith :CommercialMortgage ;    :registeredAs :RegisteredToOne ;    :ownedBy :ZhangSan .# 匹配分割情形:HouseA :matchesCase :PreMarriageMortgage .# 分割结果:HouseA :hasOwnership :PersonalProperty ;    :dividedBy :AwardToOne .# 补偿计算# 增值率 = (180万 - 100万) / 100万 = 80%# 婚后共同还贷对应增值 = 40万 × 80% = 32万# 李四应获补偿 = (40万 + 32万) / 2 = 36万:HouseA :appreciationAmount 800000.00 ;    :compensationAmount 360000.00 .# 法律依据:Article78_JI rdf:type :JudicialInterpretation ;    :articleNumber "婚姻家庭编解释(一)第78条" ;    :articleContent "婚前一方签订购房合同,以个人财产支付首付款并在银行贷款,婚后用夫妻共同财产还贷,不动产登记于首付款支付方名下的,离婚时由双方协议处理。不能达成协议的,人民法院可以判决该不动产归登记一方,尚未归还的贷款为登记一方的个人债务。双方婚后共同还贷支付的款项及其相对应财产增值部分,由登记一方对另一方进行补偿。" .

推理器能回答的问题:

"这套房子属于什么性质?" → 匹配 PreMarriageMortgage,房屋归张三
"李四能拿到多少补偿?" → 36 万元
"适用什么法律条文?" → 婚姻家庭编解释(一)第 78 条

法律本体 vs 停车场本体:建模差异在哪

建完这个本体,回头看和停车场本体的差异,有几点值得说。

第一,法律本体的类层次更"扁"。停车场本体的类层次很深(Vehicle → Car → ElectricVehicle),物理世界的分类天然是层级的。但法律概念更多是"并列"的——PreMarriageFullPayment 和 PreMarriageMortgage 是同级的不同情形,不是父子关系。

第二,约束是法律本体的灵魂。停车场本体的约束很简单(一个车位停一辆车)。法律本体的约束是多条件组合的,条件之间有优先级。"父母出资"要结合"登记在谁名下"和"是否有赠与协议"才能判断结果。

第三,法律本体需要处理"例外"。OWL 的开放世界假设(Open World Assumption)在这里是个问题。法律推理通常需要封闭世界假设——没有证据证明是赠与,就不能认定为赠与。OWL 原生不支持这一点,需要配合 SWRL 规则或应用层逻辑。

第四,时间是一等公民。停车场本体里,时间只是记录属性(入场时间、出场时间)。离婚房产本体里,时间是核心判断条件——同一个行为(买房),发生在婚前和婚后,法律后果完全不同。


完整的离婚房产分割本体 OWL 文件

把上面的设计整合成完整的 OWL 文件(Turtle 格式):

@prefix : <http://example.org/divorce-property#> .@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .# = 本体声明 =<http://example.org/divorce-property> rdf:type owl:Ontology ;    rdfs:label "离婚财产分割房屋本体" ;    rdfs:comment "中国民法典框架下离婚房产分割领域的本体模型" .# = 人 =:Person rdf:type owl:Class ;    rdfs:label "人" .:Spouse rdf:type owl:Class ;    rdfs:subClassOf :Person ;    rdfs:label "配偶" .:Husband rdf:type owl:Class ;    rdfs:subClassOf :Spouse ;    rdfs:label "丈夫" .:Wife rdf:type owl:Class ;    rdfs:subClassOf :Spouse ;    rdfs:label "妻子" .:Parent rdf:type owl:Class ;    rdfs:subClassOf :Person ;    rdfs:label "父母" .:HusbandParent rdf:type owl:Class ;    rdfs:subClassOf :Parent ;    rdfs:label "男方父母" .:WifeParent rdf:type owl:Class ;    rdfs:subClassOf :Parent ;    rdfs:label "女方父母" .# = 房屋 =:House rdf:type owl:Class ;    rdfs:label "房屋" .:CommercialHouse rdf:type owl:Class ;    rdfs:subClassOf :House ;    rdfs:label "商品房" .:AffordableHouse rdf:type owl:Class ;    rdfs:subClassOf :House ;    rdfs:label "经济适用房" .:RelocationHouse rdf:type owl:Class ;    rdfs:subClassOf :House ;    rdfs:label "拆迁安置房" .:SelfBuiltHouse rdf:type owl:Class ;    rdfs:subClassOf :House ;    rdfs:label "自建房" .# = 产权状态 =:Ownership rdf:type owl:Class ;    rdfs:label "产权状态" .:PersonalProperty rdf:type owl:Class ;    rdfs:subClassOf :Ownership ;    rdfs:label "个人财产" .:CommunalProperty rdf:type owl:Class ;    rdfs:subClassOf :Ownership ;    rdfs:label "共同财产" .:SharedByPortion rdf:type owl:Class ;    rdfs:subClassOf :Ownership ;    rdfs:label "按份共有" .# = 出资来源 =:FundingSource rdf:type owl:Class ;    rdfs:label "出资来源" .:PersonalFunding rdf:type owl:Class ;    rdfs:subClassOf :FundingSource ;    rdfs:label "个人出资" .:JointFunding rdf:type owl:Class ;    rdfs:subClassOf :FundingSource ;    rdfs:label "共同出资" .:ParentalFunding rdf:type owl:Class ;    rdfs:subClassOf :FundingSource ;    rdfs:label "父母出资" .:GiftFunding rdf:type owl:Class ;    rdfs:subClassOf :ParentalFunding ;    rdfs:label "赠与性质出资" .:LoanFunding rdf:type owl:Class ;    rdfs:subClassOf :ParentalFunding ;    rdfs:label "借款性质出资" .# = 购房方式 =:PurchaseMethod rdf:type owl:Class ;    rdfs:label "购房方式" .:FullPayment rdf:type owl:Class ;    rdfs:subClassOf :PurchaseMethod ;    rdfs:label "全款购买" .:MortgagePurchase rdf:type owl:Class ;    rdfs:subClassOf :PurchaseMethod ;    rdfs:label "贷款购买" .:CommercialMortgage rdf:type owl:Class ;    rdfs:subClassOf :MortgagePurchase ;    rdfs:label "商业贷款" .:HousingFundLoan rdf:type owl:Class ;    rdfs:subClassOf :MortgagePurchase ;    rdfs:label "公积金贷款" .:CombinedLoan rdf:type owl:Class ;    rdfs:subClassOf :MortgagePurchase ;    rdfs:label "组合贷款" .# = 时间阶段 =:TimePeriod rdf:type owl:Class ;    rdfs:label "时间阶段" .:PreMarriage rdf:type owl:Class ;    rdfs:subClassOf :TimePeriod ;    rdfs:label "婚前" .:DuringMarriage rdf:type owl:Class ;    rdfs:subClassOf :TimePeriod ;    rdfs:label "婚姻存续期间" .:Separation rdf:type owl:Class ;    rdfs:subClassOf :TimePeriod ;    rdfs:label "分居期间" .# = 产权登记 =:Registration rdf:type owl:Class ;    rdfs:label "产权登记" .:RegisteredToOne rdf:type owl:Class ;    rdfs:subClassOf :Registration ;    rdfs:label "登记在一方名下" .:RegisteredToBoth rdf:type owl:Class ;    rdfs:subClassOf :Registration ;    rdfs:label "登记在双方名下" .# = 分割方式 =:DivisionMethod rdf:type owl:Class ;    rdfs:label "分割方式" .:AwardToOne rdf:type owl:Class ;    rdfs:subClassOf :DivisionMethod ;    rdfs:label "归一方所有并补偿" .:SellAndDivide rdf:type owl:Class ;    rdfs:subClassOf :DivisionMethod ;    rdfs:label "变卖后分割" .:BiddingAcquisition rdf:type owl:Class ;    rdfs:subClassOf :DivisionMethod ;    rdfs:label "竞价取得" .:ContinuedCoOwnership rdf:type owl:Class ;    rdfs:subClassOf :DivisionMethod ;    rdfs:label "继续共有" .# = 分割情形 =:DivisionCase rdf:type owl:Class ;    rdfs:label "分割情形" .:PreMarriageFullPayment rdf:type owl:Class ;    rdfs:subClassOf :DivisionCase ;    owl:equivalentClass [        rdf:type owl:Class ;        owl:intersectionOf (            :DivisionCase            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedDuring ;              owl:someValuesFrom :PreMarriage ]            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedWith ;              owl:someValuesFrom :FullPayment ]            [ rdf:type owl:Restriction ;              owl:onProperty :registeredAs ;              owl:someValuesFrom :RegisteredToOne ]        )    ] ;    rdfs:label "婚前一方全款购房" .:PreMarriageMortgage rdf:type owl:Class ;    rdfs:subClassOf :DivisionCase ;    owl:equivalentClass [        rdf:type owl:Class ;        owl:intersectionOf (            :DivisionCase            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedDuring ;              owl:someValuesFrom :PreMarriage ]            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedWith ;              owl:someValuesFrom :MortgagePurchase ]            [ rdf:type owl:Restriction ;              owl:onProperty :registeredAs ;              owl:someValuesFrom :RegisteredToOne ]        )    ] ;    rdfs:label "婚前贷款婚后共同还贷" .:JointPurchase rdf:type owl:Class ;    rdfs:subClassOf :DivisionCase ;    owl:equivalentClass [        rdf:type owl:Class ;        owl:intersectionOf (            :DivisionCase            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedDuring ;              owl:someValuesFrom :DuringMarriage ]            [ rdf:type owl:Restriction ;              owl:onProperty :fundedBy ;              owl:someValuesFrom :JointFunding ]        )    ] ;    rdfs:label "婚后共同购买" .:ParentalFullFunding rdf:type owl:Class ;    rdfs:subClassOf :DivisionCase ;    owl:equivalentClass [        rdf:type owl:Class ;        owl:intersectionOf (            :DivisionCase            [ rdf:type owl:Restriction ;              owl:onProperty :purchasedDuring ;              owl:someValuesFrom :DuringMarriage ]            [ rdf:type owl:Restriction ;              owl:onProperty :fundedBy ;              owl:someValuesFrom :GiftFunding ]            [ rdf:type owl:Restriction ;              owl:onProperty :registeredAs ;              owl:someValuesFrom :RegisteredToOne ]        )    ] ;    rdfs:label "婚后父母全额出资赠与一方" .:InheritedHouse rdf:type owl:Class ;    rdfs:subClassOf :DivisionCase ;    rdfs:label "继承或受赠房产" .# = 法律依据 =:LegalBasis rdf:type owl:Class ;    rdfs:label "法律依据" .:CivilCodeArticle rdf:type owl:Class ;    rdfs:subClassOf :LegalBasis ;    rdfs:label "民法典条文" .:JudicialInterpretation rdf:type owl:Class ;    rdfs:subClassOf :LegalBasis ;    rdfs:label "司法解释条文" .# = 对象属性 =:ownedBy rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :Spouse ;    rdfs:label "产权登记人" .:purchasedBy rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :Spouse ;    rdfs:label "购买人" .:fundedBy rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :FundingSource ;    rdfs:label "出资来源" .:purchasedWith rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :PurchaseMethod ;    rdfs:label "购房方式" .:purchasedDuring rdf:type owl:ObjectProperty ,                          owl:FunctionalProperty ;    rdfs:domain :House ;    rdfs:range :TimePeriod ;    rdfs:label "购房时间阶段" .:registeredAs rdf:type owl:ObjectProperty ,                       owl:FunctionalProperty ;    rdfs:domain :House ;    rdfs:range :Registration ;    rdfs:label "登记状态" .:hasOwnership rdf:type owl:ObjectProperty ,                       owl:FunctionalProperty ;    rdfs:domain :House ;    rdfs:range :Ownership ;    rdfs:label "产权性质" .:dividedBy rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :DivisionMethod ;    rdfs:label "分割方式" .:matchesCase rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :DivisionCase ;    rdfs:label "匹配情形" .:governedBy rdf:type owl:ObjectProperty ;    rdfs:domain :DivisionCase ;    rdfs:range :LegalBasis ;    rdfs:label "适用法律" .:downPaymentBy rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :Spouse ;    rdfs:label "首付出资人" .:mortgagePaidBy rdf:type owl:ObjectProperty ;    rdfs:domain :House ;    rdfs:range :Spouse ;    rdfs:label "还贷人" .:parentalFundingFrom rdf:type owl:ObjectProperty ;    rdfs:domain :ParentalFunding ;    rdfs:range :Parent ;    rdfs:label "父母出资方" .# = 数据属性 =:purchasePrice rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:decimal ;    rdfs:label "购房总价" .:downPaymentAmount rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:decimal ;    rdfs:label "首付金额" .:mortgageAmount rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:decimal ;    rdfs:label "贷款总额" .:postMarriageRepayment rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:decimal ;    rdfs:label "婚后共同还贷金额" .:currentValue rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:decimal ;    rdfs:label "房屋现值" .:appreciationAmount rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:decimal ;    rdfs:label "增值金额" .:compensationAmount rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:decimal ;    rdfs:label "应补偿金额" .:purchaseDate rdf:type owl:DatatypeProperty ;    rdfs:domain :House ;    rdfs:range xsd:date ;    rdfs:label "购房日期" .:marriageDate rdf:type owl:DatatypeProperty ;    rdfs:domain :Spouse ;    rdfs:range xsd:date ;    rdfs:label "结婚日期" .:divorceDate rdf:type owl:DatatypeProperty ;    rdfs:domain :Spouse ;    rdfs:range xsd:date ;    rdfs:label "离婚日期" .:articleNumber rdf:type owl:DatatypeProperty ;    rdfs:domain :LegalBasis ;    rdfs:range xsd:string ;    rdfs:label "条文编号" .:articleContent rdf:type owl:DatatypeProperty ;    rdfs:domain :LegalBasis ;    rdfs:range xsd:string ;    rdfs:label "条文内容" .:name rdf:type owl:DatatypeProperty ;    rdfs:domain :Person ;    rdfs:range xsd:string ;    rdfs:label "姓名" .

这个文件可以直接导入 Protégé 打开和编辑。


补偿金额怎么算

本体定义了概念和关系,但补偿计算涉及数学公式,OWL 本身表达不了。这里单独说一下计算逻辑。

以最常见的"婚前贷款婚后共同还贷"情形为例:

增值率 = (房屋现值 - 购房总价) / 购房总价婚后还贷对应增值 = 婚后共同还贷金额 × 增值率应补偿金额 = (婚后共同还贷金额 + 婚后还贷对应增值) / 2

套用张三李四的案例:

增值率 = (180万 - 100万) / 100万 = 80%婚后还贷对应增值 = 40万 × 80% = 32万应补偿金额 = (40万 + 32万) / 2 = 36万

李四应获得 36 万元补偿。

需要说明:这个公式是司法实践中常用的计算方式,但各地法院可能有差异。有的法院会考虑装修投入、物价变动等因素。本体的价值在于把"什么情况下需要计算补偿"这个前置判断做好了,具体计算交给应用层。


本体建好了,然后呢

OWL 文件有了,类、属性、约束都定义好了。但这只是起点。

一个本体如果只停留在 Protégé 里,就是一份漂亮的文档。要让它真正干活,还有一条完整的路要走。

这是后续文章要解决的问题:

从文本中提取知识:当事人陈述、法律文书、庭审笔录,都是非结构化文本。怎么用 Spring AI + DeepSeek 把文本变成本体里的三元组?本体的类和属性定义怎么变成提示词约束?

实体消歧与消解:男方说"那套房子",女方也说"那套房子",指的是同一套吗?房产证上写"北京市朝阳区XX路100号3单元801",当事人说"朝阳那套房",怎么确认是同一个实体?

冲突处理与数据验证:男方说首付是自己攒的,女方说是公婆给的。两条三元组打架了。用命名图(Named Graph)标注来源,用优先级规则处理冲突。再用 SHACL 验证数据质量——金额是不是正数、结婚日期是不是早于购房日期。

本体推理:数据干净了,推理器上场。HermiT 自动把满足条件的房产归类到对应的分割情形,关联法律依据,检查数据一致性。OWL 推理做不了的事(比如补偿金额计算),用 SWRL 规则补上。

从本体到应用:前面所有环节串成一个 Spring Boot 应用。输入案件信息,输出分析报告。一个完整的、可运行的离婚房产分割分析系统。

每篇的输出是下一篇的输入。跟着做,到最后手里有一个能跑的 pipeline。


延伸阅读

Ontology Development 101 - Noy & McGuinness:本体构建的经典教程
Protégé 官网:下载本体编辑器
LKIF Core Ontology:法律知识交换格式本体
FLINT 本体:基于 Actor 的法律关系模型
OWL 2 Web Ontology Language:W3C 官方规范
《中华人民共和国民法典》:法律原文

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-17 03:38:39 HTTP/2.0 GET : https://a.mffb.com.cn/a/480228.html
  2. 运行时间 : 0.121272s [ 吞吐率:8.25req/s ] 内存消耗:4,765.34kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=f1f8cadd1555f8a4958ba79f80948e02
  1. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/runtime/temp/cbe9940b986bd319e8e4ad9d69892652.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/a.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000881s ] mysql:host=127.0.0.1;port=3306;dbname=a_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001478s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000647s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002189s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001423s ]
  6. SELECT * FROM `set` [ RunTime:0.000621s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001528s ]
  8. SELECT * FROM `article` WHERE `id` = 480228 LIMIT 1 [ RunTime:0.001158s ]
  9. UPDATE `article` SET `lasttime` = 1776368319 WHERE `id` = 480228 [ RunTime:0.013955s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000746s ]
  11. SELECT * FROM `article` WHERE `id` < 480228 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001211s ]
  12. SELECT * FROM `article` WHERE `id` > 480228 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001075s ]
  13. SELECT * FROM `article` WHERE `id` < 480228 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001793s ]
  14. SELECT * FROM `article` WHERE `id` < 480228 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001612s ]
  15. SELECT * FROM `article` WHERE `id` < 480228 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001942s ]
0.125366s