Knowledge Graph知识图谱—8. Web Ontology Language (OWL)
8. Web Ontology Language (OWL)
在RDFs不可能实现:
Property cardinalities, Functional properties, Class disjointness, we cannot produce contradictions, circumvent the Non Unique Naming Assumption, circumvent the Open World Assumption
8.1 OWL
Trade-off: Expressive power, Complexity of reasoning, Decidability
Solution: different variants of OWL, e.g.,OWL Lite, OWL DL, OWL Full; Profiles in OWL2
OWL and RDF Schema
both are based on RDF
OWL ontologies can also be expressed in RDF
as triples or in XML notation
Compatibility
OWL Lite(more stricted) and OWL DL are not fully compatible to RDF Schema but reuse some parts of RDF Schema
OWL Full and RDF Schema are fully compatible
8.2 OWL: Classes
Basic concept (owl:Class)
owl:Class rdfs:subClassOf rdfs:Class .
Two predefined classes
# top
owl:Thing
# bottom
owl:Nothing# Nothing is empty set, a subset of any class
c rdfs:subClassOf owl:Thing
owl:Nothing rdfs:subClassOf c
Classes can be intersections of others
# (:SwimmingAnimals :Mammals): 表示:SwimmingMammals 类是 :SwimmingAnimals 和:Mammals 两个类的交集。
:SwimmingMammals owl:intersectionOf (:SwimmingAnimals :Mammals) .
There are also set unions and set differences but not in OWL Lite
8.2 OWL: Properties
RDF Schema does not distinguish literal and object valued properties
:name a rdf:Property .
:name rdfs:range xsd:string .:knows a rdf:Property .
:knows rdfs:range foaf:Person .
Without specifying the range, “dual use” of an RDF property is not forbidden.
:peter :knows :john .
:peter :knows "mary"^^xsd:string .
“dual use” (双重使用)的意思是,:knows 这个属性既可以与另一个资源(如 :john)关联,也可以与字面量(如 “mary”)关联,而没有明确规定它们的类型。
In contrast, OWL distinguishes literal and object valued properties
– owl:DatatypeProperty
– owl:ObjectProperty– owl:DatatypeProperty rdfs:subClassOf rdf:Property .
– owl:ObjectProperty rdfs:subClassOf rdf:Property .
实际上,rdf:Property包含这两种,但是在RDFs中没有进一步明确
Hierarchy
in RDFs
:capitalOf rdfs:subPropertyOf :locatedIn
In OWL, with the restrions, can only have two disjoint hierarchies: 1. hierarchy of DatatypeProperty 2. hierarchy of ObjectProperty. 但DatatypeProperty不能是subPropertyOf ObjectProperty,反之也不可以。
Domains
only classes for OWL Lite, classes or restrictions* for OWL DL/Full
:name rdfs:domain foaf:Person .
Ranges
XML Datatypes for owl:DatatypeProperty
Classes or restrictions* for owl:ObjectProperty
:name rdfs:range xsd:string .
:knows rdfs:range foaf:Person .
8.3 Equality and Inequality
8.3.1 Equality between individuals
Allows using multiple definitions/descriptions of an entity, in other datasets as well -> solves some problems of the Non unique naming assumption
:Muenchen owl:sameAs :Munich .
# as a means to establish links between datasets
myDataset:Mannheim owl:sameAs dbpedia:Mannheim .
8.3.2 Equality between classes and properties
allows for relations between datasets on the schema level, gives way to more complex constructs
:UniversityTeachers owl:equivalentClass :Lecturers .
:teaches owl:equivalentProperty :lecturerFor .# Also useful for Linked Open Data:
my:createdBy owl:equivalentProperty foaf:maker .
8.3.3 Inequality between individuals
Allows some useful reasoning
:Munich owl:differentFrom :Hamburg .# Shorthand notation for multiple entities: 不仅是两者之间不同,而是一个和多个都不同
owl:AllDifferent owl:distinctMembers (:Munich :Hamburg :Berlin :Darmstadt :Mannheim) .
Why can’t we Simply Use only owl:sameAs?
In OWL (Lite+DL), we must not mix classes, properties, and instances. 必须区分开来
owl:sameAs has owl:Thing as domain/range
owl:equivalentClass has rdfs:Class as domain/range (recap: owl:Class rdfs:subClassOf rdfs:Class)
owl:equivalentProperty has rdf:Property
as domain/range
owl:ObjectProperty rdfs:subClassOf rdf:Property
owl:DatatypeProperty rdfs:subClassOf rdf:Property
8.3.4 Special Properties in OWL
# Symmetric Properties
:sitsOppositeOf a owl:SymmetricProperty .
:Tom :sitsOppositeOf :Sarah .
→ :Sarah :sitsOppositeOf :Tom .# Inverse Properties
:supervises owl:inverseOf :supervisedBy .
:Tom :supervises :Julia .
→ :Julia :supervisedBy :Tom .# Transitive Properties
:hasOfficeMate a owl:TransitiveProperty .
:Tom :hasOfficeMate :Jon . :Jon :hasOfficeMate :Kim .
→ :Tom :hasOfficeMate :Kim# Reflexive, irreflexive, and asymmetric properties
# Everybody is a relative of him/herself
:relativeOf a owl:ReflexiveProperty .# Nobody can be his/her own parent
:parentOf a owl:IrreflexiveProperty .# If I am taller than you, you cannot be taller than me
:tallerThan a owl:AsymmetricProperty .
8.3.5 Restrictions on Property Types
Only ObjectProperties may be transitive, symmetric, inverse, and reflexive. DataProperties may not be because “Literals can only be objects, never subjects or predicates.”
# Example:
:samePerson a owl:DatatypeProperty .
:samePerson rdfs:range xsd:string .
:samePerson a owl:SymmetricProperty .
:Peter :samePerson "Peter" .
→"Peter" :samePerson :Peter . #违反Literals不能是subjects:hasName a owl:DatatypeProperty .
:hasName rdfs:range xsd:string .
:hasName owl:inverseOf :nameOf .
:Peter :hasName "Peter" .
→"Peter" :nameOf :Peter . #违反Literals不能是subjects# owl:TransitiveProperty is also restricted to ObjectProperties
:hasPseudonym a owl:DatatypeProperty .
:hasPseudonym rdfs:range xsd:string .
:hasPseudonym a owl:TransitiveProperty .
:Thomas :hasPseudonym "Dr. Evil" .
+ "Dr. Evil" :hasPseudonym "Skullhead" . #在reasoning procee中必定违反
→:Thomas :hasPseudonym "Skullhead" .
Which statement would we need here to make the conclusion via the owl:TransitiveProperty?
8.3.6 Functional Properties & Inverse Functional Properties
Functional Properties
If A and B are related via fp and A and C are related via fp, then, B and C are equal. Simply speaking: fp(x) is unique for each x. [Only one object]
:hasCapital a owl:FunctionalProperty .
:Finland :hasCapital :Helsinki .
:Finland :hasCapital :Helsingfors .
→:Helsinki owl:sameAs :Helsingfors .
Inverse Functional Properties
– if A and C are in relation ifp and B and C are in relation ifp, then, A and B are the same. ifp(x) is a unique identifier for x. [Only one subject]
:capitalOf a owl:InverseFunctionalProperty .
:Helsinki :capitalOf :Finland .
:Helsingfors :capitalOf :Finland .
→:Helsinki owl:sameAs :Helsingfors .
8.4 Expressive Ontologies using OWL
8.5 Restrictions
8.5.1 Define characteristics of a class
A powerful and important concept in OWL
# Example: Vegan recipes only contain vegetables as ingredients
:VeganRecipe rdfs:subClassOf :Recipe .
:VeganRecipe rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty :hasIngredient ;
owl:allValuesFrom :Vegetable .
] .# Every human as exactly one mother
:Human rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty :hasMother ;
owl:cardinality 1^^xsd:integer .
] .# Standard bicycles are vehicles without a motor
:StandardBicycle rdfs:subClassOf :Vehicle .
:StandardBicycle rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty :hasMotor ;
owl:cardinality 0^^xsd:integer .
]
8.5.2 Restrictions(local) vs. Ranges(global)
Restrictions are local to a class
:VeganRecipe rdfs:subClassOf [a owl:Restriction ;owl:onProperty :hasIngredient ;owl:allValuesFrom :Vegetable .
] .
# other classes may use hasIngredient with meat or fish
Range: a global restriction
:hasIngredient rdfs:range :Food
# this holds once and for all whenever hasIngredient is used
8.5.3 The Anatomy of a Restriction
on Property – defines the property on which the restriction should hold
Restriction of values
owl:allValuesFrom – all values must be in this class
owl:someValuesFrom – at least one value must be in this class
Restriction of cardinalities
OWL Lite: only n=0 or n=1
owl:minCardinality – at least n values
owl:maxCardinality – at most n values
owl:cardinality – exactly n values
Both cannot be combined
# Example
# All ball sports require a ball
:BallSports rdfs:subClassOf [a owl:Restriction ;owl:onProperty :requires ;owl:someValuesFrom :Ball .
] .# All sports for which a ball is required are ball sports
:BallSports owl:equivalentClass [a owl:Restriction ;owl:onProperty :requires ;owl:someValuesFrom :Ball .
] .# Difference
:BallSports owl:equivalentClass [a owl:Restriction ;owl:onProperty :requires ;owl:someValuesFrom :Ball .
] .
:Soccer :requires :soccerBall .
:soccerBall a :Ball.
# A reasoner may conclude that soccer is a ball sports
# This would not work with subClassOf
# Caveat: gymnastics with a ball are also recognized as ball sports
8.5.4 Qualified Restrictions in OWL2
In OWL, cardinalities and value restrictions may not be combined, use either all/someValuesFrom or min/maxCardinality
OWL 2 introduces qualified restrictions
# Example: a literate person has to have read at least 1,000 books (newspapers and magazines do not count!)
:LiteratePerson rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty :hasRead;
owl:minQualifiedCardinality "1000"^^xsd:integer ;
owl:onClass :Book . ] .# Analogously, there are also
owl:maxQualifiedCardinality
owl:qualifiedCardinality
在OWL中,只能分开,但是意义不一样,变成一个有文化的人读1000个东西 + 一个有文化的人读书,但是可能是1本书+999个杂志,无法表达必须是1000本书的意思
8.5.5 Using Restriction Classes as Ranges
Restrictions can also be used in other contexts
# Example: books, newspapers, and posters can be read, essentially: everything that contains letters
# Range of the predicate reads:
:reads rdfs:range [a owl:Restriction ;owl:onProperty :containsLetter ;owl:minCardinality 1^^xsd:integer .
] .
8.5.6 Using Restriction as Domains
If it works for ranges, it also works for domains
Note: only in OWL DL/Full
# to think about something, a brain is required
# Domain of the thinksAbout property:
:thinksAbout rdfs:domain [a owl:Restriction ;owl:onProperty :hasBodyPart ;owl:someValuesFrom :Brain .
] .
8.5.7 Nesting Restrictions
It is always possible to make things more complex
grandparents have children who themselves have at least one child
:GrandParent owl:equivalentClass [a owl:Restriction ;owl:onProperty :hasChild ;owl:someValuesFrom [a owl:Restriction ;owl:onProperty :hasChild ;owl:minCardinality 1^^xsd:integer .] .
] .
8.6 OWL DL
DL stands for “Description Logics” — a subset of first order logics
OWL DL introduces
- the full set of cardinality restrictions (OWL Lite allows only 0 and 1)
- more set operators
- closed classes
- value based restrictions
- restrictions on datatypes
- …
8.6.1 Complex Set Definitions
# Set union
:FacultyMembers owl:unionOf (:Students, :Professors) .# Complement set
:LivingThings owl:complementOf :InanimateThings .# Disjoint sets
:EdibleMushrooms owl:disjointWith :PoisonousMushrooms .# We can combine class definitions and restrictions:
:VegetarianRecipe rdfs:subClassOf [a owl:Restriction ;owl:onProperty :hasIngredient ;owl:allValuesFrom [a owl:Class .owl:complementOf [owl:unionOf (:Meat :Fish)]]
] .
8.6.2 Closed Classes
Basic semantic principles of RDF:
AAA: Anybody can say Anything about Anything
Non-unique name assumption -> we can control it with owl:sameAs and owl:differentFrom
The Open World Assumption says:
– everything we do not know could be true
–> so far, we have to live with it
# Example:
:Tim a :PeopleInOfficeD219 .
:John a :PeopleInOfficeD219 .
:Mary a :PeopleInOfficeD219 .
# This does not mean that there cannot be more people in D219
:Mike a :PeopleInD219 .# Sometimes, this is exactly what we want to say
# Works with owl:oneOf in OWL DL
:PeopleInOfficeD219 owl:oneOf (:Tim :John :Mary) .
:Mike a :PeopleInD219 . # Mike maybe just a name of these three people, but if it's different, then this is a contradiction
8.6.3 OWL DL: Restrictions with Single Values
# For ObjectProperties:
:AfricanStates owl:subClassOf [a owl:Restriction ;owl:onProperty :locatedOnContinentowl:hasValue :Africa] .# For DatatypeProperties:
:AlbumsFromTheEarly80s owl:subClassOf [a owl:Restriction ;owl:onProperty :yearowl:dataRange (1980^^xsd:integer 1981^^xsd:integer 1982^^xsd:integer) ]
8.6.4 OWL Lite/DL vs. OWL Full
OWL Lite/DL: a resource is either an instance or a class or a property
OWL Full does not have such restrictions
:Elephant a owl:Class .
:Elephant a :Species .
:Elephant :livesIn :Africa .
:Species a owl:Class .
OWL Lite/DL: classes are only instances of owl:Class
OWL Lite/DL: classes and properties can only have a predefined set of relations (e.g., rdfs:subClassOf)
8.7 OWL2
New Constructs and More (Syntactic sugar, New language constructs, OWL profiles)
8.7.1 OWL2: Syntactic Sugar
without syntactic sugar, how to construct before?
8.7.2 OWL2: Reflexive Class Restrictions
Using hasSelf
# Example: defining the set of all autodidacts(a self-taught person.):
:AutoDidact owl:equivalentClass [a owl:Restriction ;owl:onProperty :teaches ;owl:hasSelf "true"^^xsd:boolean ].
8.7.3 OWL2: Property Chains
Typically used for defining rule-like constructs,
# hasParent(X,Y) and hasParent(Y,Z) → hasGrandParent(X,Z)
# OWL Syntax:
:hasGrandparent owl:propertyChainAxiom ( :hasParent :hasParent ) .# Can be combined with inverse properties and others
# hasParent(X,Y) and hasParent(Z,Y) → hasSibling(X,Z) at least share one of parents
# This is not a proper chain yet, so we have to rephrase it to
# hasParent(X,Y) and hasParent-1(Y,Z) → hasSibling(X,Z)
# OWL Syntax:
:hasSibling owl:propertyChainAxiom ( :hasParent [ owl:inverseOf:hasParent ] ) .
8.7.4 OWL2 Profile
1. OWL2 EL (Expressive Language)
Fast reasoning on many standard ontologies
Restrictions, e.g.:
- someValuesFrom, but not allValuesFrom
- No inverse and symmetric properties
- No unionOf and complementOf
2. OWL2 QL (Query Language)
Fast query answering on relational databases
Restrictions, e.g.:
- No unionOf, allValuesFrom, hasSelf, …
- No cardinalities and functional properties
3. OWL2 RL (Rule Language)
- Subset similar to rule languages such as datalog
subClassOf is translated to a rule (Person ← Student) - Restrictions, e.g.:
Only qualified restrictions with 0 or 1
Some restrictions for head and body
The following holds for all three profiles:
Reasoning can be implemented in polynomial time for each of the three
Reasoning on the union of two profiles only possible in exponential time
OWL2 Example: Russell’s Paradox
8.7.5 Reasoning in OWL DL
Reasoning for OWL DL is more difficult
Forward chaining may have scalability issues
Conjunction (e.g., unionOf) is not supported by forward chaining (same holds for some other constructs, no negation)
Different approach: Tableau Reasoning
Underlying idea: find contradictions in ontology. i.e., both a statement and its opposite can be derived from the ontology
8.8 Typical Reasoning Tasks
basic idea: contradiction checking
Contradiction
8.8.1 Subclass Relations
8.8.2 Class equivalence
8.8.3 Class Consistency
8.8.4 Class Instantiation & Class enumeration
All reasoning tasks can be reduced to the same basic task i.e., consistency checking
This means: for building a reasoner that can solve those tasks, we only need a reasoner capable of consistency checking.
8.9 OWL DL
8.9.1 Ontologies in Description Logics Notation
8.9.2 Global Statements in Description Logic
8.9.3 Negation Normal Form (NNF)
eliminate subclass
C(x) → D(x)
C(x): Predicate or property indicating that x belongs to class C.
D(x): Predicate or property indicating that x belongs to class D.
→: Logical implication, meaning “implies” or “if…then.”
eliminate equivalence
8.10 The Basic Tableau Algorithm
Tableau算法通过在逐步扩展的过程中不断检查矛盾来判断本体是否一致。当不再有新的公理可以添加,或者至少有一个部分的Tableau没有矛盾时,可以确保本体是一致的。如果任何一个部分的Tableau同时包含一个公理及其否定,那么这个部分就被认为包含矛盾,因此整个算法会停止在这个分支上的扩展。
Algorithm
Axiom(公理):
Axiom 指的是本体中的一条陈述,它描述了某种关于个体、类、属性或关系的事实或规则。在Tableau算法中,Axiom 是用来构建和扩展表格的基本元素。通过引入新的Axiom,算法可以逐步探索可能的解释空间。
Action(动作):
Action 是指在Tableau算法的执行过程中,为了展开表格而执行的具体操作。这些操作包括对Axiom的分解、对个体的引入、对存在量词的展开等。通过执行这些Action,算法可以逐步构建具体的解释。
Example1
DL-NNF是一种形式化的逻辑表示,其中否定只作用于概念的基本成分上,而不涉及复合概念。尽管使用DL-NNF并非强制性要求,但它有一些优势:
简化推理:
DL-NNF形式的表达式更容易处理,有助于简化推理过程。这是因为否定的使用受到了限制,使得在算法中处理表达式更加直观和高效。
易于理解和实现:
DL-NNF形式的表达式更符合直观,更易于理解。这有助于实现和维护Tableau算法,使其更具可读性。
减少冗余计算:
使用DL-NNF形式可以减少在推理过程中进行的冗余计算。简化的表达形式避免了对复合概念进行重复的否定操作。
在表达式 “C(a)” 中,C 是一个概念,而 a 是一个个体。
Example2
Introducing Rule Blocking
Tableau Algorithm with Rule Blocking
Tableau Algorithm: Wrap Up
An algorithm for description logic based ontologies, works for OWL Lite and DL
We have seen examples for some OWL expressions, Other OWL DL expressions can be “translated” to DL as well
And they come with their own expansion rules
Reasoning may become more difficult. e.g., dynamic blocking and unblocking
Optimizing Tableau Reasoners
8.11 OWL Lite vs DL
8.12 Complexity of Ontologies
Reasoning performance depends on ontology complexity
Rule of thumb: the more complexity, the more costly
Most useful ontologies are in OWL DL
But there are differences.
In detail: complexity classes
OWL DL是Web Ontology Language(OWL)的一个子语言,它在描述逻辑方面提供了丰富的表达能力。这意味着许多有用的本体都采用OWL DL进行建模,因为它能够更准确地表达复杂的概念和关系。尽管大多数有用的本体采用OWL DL,但实际上还存在其他本体语言和表示方法。这些语言可能具有不同的表达能力和语法结构,因此在推理性能和成本方面可能存在差异。本体的复杂性类,即用于描述本体中所包含信息复杂性的类别。不同的本体可以属于不同的复杂性类,而这些类别会对推理的复杂性和成本产生影响。
8.13 Simple Ontologies: ALC
ALC: Attribute Language with Complement
Allowed:
– subClassOf, equivalentClass
– unionOf, complementOf, disjointWith
– Restrictions: allValuesFrom, someValuesFrom
– domain, range
– Definition of individuals
8.14 SHIQ, SHOIN & co
Complexity classes are noted as letter sequences
Using
– S = ALC plus transitive properties (basis for most ontologies)
– H = Property hierarchies (subPropertyOf)
– O = closed classes (oneOf)
– I = inverse properties (inversePropertyOf)
– N = numeric restrictions (min/maxCardinality)
– F = functional properties
– Q = qualified numerical restrictions (OWL2)
– (D) = Usage of datatype properties
8.15 Some Tableau Reasoners
Fact
– University of Manchester, free
– SHIQ
Fact++/JFact
– Extension of Fact, free
– SHOIQ(and a little D), OWL-DL + OWL2
Pellet
– Clark & Parsia, free for academic use
– SHOIN(D), OWL-DL + OWL2
RacerPro
– Racer Systems, commercial
– SHIQ(D)
8.16 Limitations of OWL
8.17Wrap Up
相关文章:

Knowledge Graph知识图谱—8. Web Ontology Language (OWL)
8. Web Ontology Language (OWL) 在RDFs不可能实现: Property cardinalities, Functional properties, Class disjointness, we cannot produce contradictions, circumvent the Non Unique Naming Assumption, circumvent the Open World Assumption 8.1 OWL Tr…...

排序算法——冒泡排序
排序算法是计算机科学中最基本的概念之一。在众多排序算法中,冒泡排序因其实现简单而被广泛学习。尽管它不是最高效的排序方法,但对于理解基本的排序概念非常有用。本文将深入探讨冒泡排序的原理、实现、优缺点以及应用场景。 1. 冒泡排序原理 冒泡排序…...

边缘智能网关如何应对环境污染难题
随着我国工业化、城镇化的深入推进,包括大气污染在内的环境污染防治压力继续加大。为应对环境污染防治难题,佰马综合边缘计算、物联网、智能感知等技术,基于边缘智能网关打造环境污染实时监测、预警及智能干预方案,可应用于大气保…...

uniapp定时器的应用
1、初始化定时器 data(){return{timer: null, //定时器} } 2、定时器的使用 定时器分两种,setInterval和setTimeout。 二者的区别: setInterval函数会无限执行下去,除非调用clearInterval函数来停止它。setTimeout函数只执行一次&#x…...

Docker中安装Oracle10g和oracle增删改查
Docker中安装Oracle 10g 一、Docker中安装Oracle 10安装步骤二、连接数据库登录三 oracle数据库的增删改查及联表查询的相关操作oracle数据库,创建students数据表,创建100万条数据增删改查 一、Docker中安装Oracle 10安装步骤 Docker中安装Oracle 10g 1.下载镜像 docker pull …...

推荐算法:HNSW【推荐出与用户搜索的类似的/用户感兴趣的商品】
HNSW算法概述 HNSW(Hierarchical Navigable Small Word)算法算是目前推荐领域里面常用的ANN(Approximate Nearest Neighbor)算法了。其目的就是在极大量的候选集当中如何快速地找到一个query最近邻的k个元素。 要找到一个query的…...

C++ //例3.14 找出100~200间的全部素数。
C程序设计 (第三版) 谭浩强 例3.14 例3.14 找出100~200间的全部素数。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法:使用函数的模块化设计 #include <iostream> #include <iomanip> #i…...

虚幻学习笔记11—C++结构体、枚举与蓝图的通信
一、前言 结构体的定义和枚举类似,枚举的定义有两种方式。区别是结构体必须以“F”开头命名,而枚举不用。 额外再讲了一下蓝图生成时暴露变量的方法。 二、实现 2.1、结构体 1、定义结构体 代码如下,注意这个定义的代码一定要在“UCLASS()”…...

【android开发-19】android中内容提供者contentProvider用法讲解
1,内容URI 在Android系统中,Content URI是一种用于唯一标识和访问应用程序中的数据的方法。它由Android系统提供,通过Content Provider来实现数据的共享和访问。 Content URI使用特定的格式来标识数据,通常以"content://&qu…...

浅谈排序——快速排序(最常用的排序)
快速排序(Quick Sort)是一种常见的排序算法,由英国计算机科学家东尼霍尔(Tony Hoare)在1960年发明。这是一种分治算法,基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所…...

Springboot项目实现简单的文件服务器,实现文件上传+图片及文件回显
文章目录 写在前面一、配置1、application.properties2、webMvc配置3、查看效果 二、文件上传 写在前面 平常工作中的项目,上传的文件一般都会传到对象存储云服务中。当接手一个小项目,如何自己动手搭建一个文件服务器,实现图片、文件的回显…...

5V低压步进电机驱动芯片GC6150,应用于摄像机,机器人 医疗器械等产品中。具有低噪声、低振动的特点
GC6150是双通道5V低压步进电机驱动器,具有低噪声、低振动的特点,特别适用于相机变焦对焦系统、万向架、摇头机等精度、低噪声STM控制系统,该芯片为每个通道集成了一个256微步的驱动器。通过SPI & T2C接口,客户可以方使地调整驱…...

3D Web轻量引擎HOOPS Communicator如何实现对大模型的渲染支持?
除了读取轻松外,HOOPS Communicator对超大模型的支持效果也非常好,它可以支持30GB的包含70万个零件和3.5亿个三角面的Catia装配模型! 那么它是如何来实现对大模型的支持呢? 我们将从以下几个方面与大家分享:最低帧率…...

『 Linux 』进程地址空间概念
文章目录 🫙 前言🫙 进程地址空间是什么🫙 写时拷贝🫙 可执行程序中的虚拟地址🫙 物理地址分布方式 🫙 前言 在c/C中存在一种内存的概念; 一般来说一个内存的空间分布包括栈区,堆区,代码段等等; 且内存是…...

PySpark大数据处理详细教程
欢迎各位数据爱好者!今天,我很高兴与您分享我的最新博客,专注于探索 PySpark DataFrame 的强大功能。无论您是刚入门的数据分析师,还是寻求深入了解大数据技术的专业人士,这里都有丰富的知识和实用的技巧等着您。让我们…...

三(五)ts非基础类型(对象)
在ts里面定义对象的方式也有很多。 普通定义 let obj1:{} {} // obj1.name fufu 报错,只能定义为空对象且不能修改 // 但是可以在赋初始值的时候直接添加属性,这是ts在类型推断时,它会宽容地匹配对象的结构。 let obj2:{} {name: fufu}…...

HeartBeat监控Redis状态
目录 一、概述 二、 安装部署 三、配置 四、启动服务 五、查看数据 一、概述 使用heartbeat可以实现在kibana界面对redis服务存活状态进行观察,如有必要,也可在服务宕机后立即向相关人员发送邮件通知 二、 安装部署 参照文章:HeartBeat监…...

FairGuard无缝兼容小米澎湃OS、ColorOS 14 、鸿蒙4!
随着移动互联网时代的发展,各大手机厂商为打造生态系统、构建自身的技术壁垒,纷纷投身自研操作系统。 而对于一款游戏安全产品,在不同操作系统下,是否能够无缝兼容并且提供稳定的、高强度的加密保护,成了行业的一大痛…...

【Copilot】Edge浏览器的copilot消失了怎么办
这种原因,可能是因为你的ip地址的不在这个服务的允许范围内。你需要重新使用之前出现copilot的ip地址,然后退出edge的账号,重新登录一遍,最后重启edge,就能够使得copilot侧边栏重新出现了。...

C++入门【6-C++ 修饰符类型】
C 修饰符类型 C 允许在 char、int 和 double 数据类型前放置修饰符。 修饰符是用于改变变量类型的行为的关键字,它更能满足各种情境的需求。 下面列出了数据类型修饰符: signed:表示变量可以存储负数。对于整型变量来说,signe…...

STP笔记总结
STP --- 生成树协议 STP(Spanning Tree Protocol,生成树协议)是根据 IEEE802.1D标准建立的,用于在局域网中消除数据链路层环路的协议。运行STP协议的设备通过彼此交互信息发现网络中的环路,并有选择地对某些端口进行阻…...

Qt开发 之 记一次安装 Qt5.12.12 安卓环境的失败案例
文章目录 1、安装Qt2、安卓开发的组合套件2.1、CSDN地址2.2、官网地址2.3、发现老方法不适用了 3、尝试用新方法解决3.1、先安装JDK,搞定JDK环境变量3.1.1、安装jdk3.1.2、确定jdk安装路径3.1.3、打开系统环境变量配置3.1.4、配置系统环境变量3.1.5、验证JDK环境变量…...

基于SpringBoot的就业信息管理系统设计与实现(源码+数据库+文档)
摘 要 在新冠肺炎疫情的影响下,大学生的就业问题已经变成了一个引起人们普遍重视的社会焦点问题。在这次疫情的冲击之下,大学生的就业市场的供求双方都受到了不同程度的影响,大学生的就业情况并不十分乐观。目前,各种招聘平台上…...

Java面试整理(四)Java IO流
我记得自己刚开始学Java的时候,都听过师兄的分享,说IO流是很重要,而且很难。 自己正式接触之后,其实IO流这块知识并不是特别难,而且随着IT的发展,IO流这块反而用得不是很多。特别是在应用开发这个层面,用得更少。 当然,可能会有朋友跳出来说“这怎么可能?你不懂Java吧…...

《安富莱嵌入式周报》第328期:自主微型机器人,火星探测器发射前失误故障分析,微软推出12周24期免费AI课程,炫酷3D LED点阵设计,MDK5.39发布
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程: 【实战技能】 单步运行源码分析,一期视频整明白FreeRTOS内核源码框架和运行…...

产品经理在项目周期中扮演的角色Axure的安装与基本使用
目录 一.项目周期流程 二.Axure是什么 三.Axure安装 3.1 一键式安装 3.2 汉化 3.3 授权登录 四.Axure的界面介绍及基本使用 4.1 菜单栏的使用 4.2 工具栏的使用 4.3 页面概要的使用及组件的使用 4.4 组件的样式设计 一.项目周期流程 在一般的项目周期中包含的工作内容有&…...

Dockerfile创建镜像介绍
1.介绍 Docker 提供了一种更便捷的方式,叫作 Dockerfile,docker build命令用于根据给定的Dockerfile构建Docker镜像。 docker build语法: # docker build [OPTIONS] <PATH | URL | -> 常用选项说明 --build-arg,设置构建时的…...

Android 滥用 SharedPreference 导致 ANR 问题
SharedPreference 是 Android 平台提供的一种轻量级的数据存储方式,它用于存储应用的配置信息或者一些简单的数据。SharedPreference 基于键值对的存储,并且支持基本的数据类型,如整型、字符串、布尔值等。它的使用非常简单方便,适…...

虚幻商城 道具汇总
文章目录 载具Vehicle Variety Pack(车辆品种包)Vehicle Variety Pack Volume 2(车辆品种包第 2 卷)家具Free Furniture Pack(免费家具包)Old West - VOL 1 - Interior Furniture(旧西部 - 第1卷 - 家具包)Old West VOL.3 - Travel Supplies and Goods(旧西部 - 第3卷…...

docker: Error response from daemon: failed to create shim task: OCI runtime
1 概述 在解决"Docker: Error response from daemon: failed to create shim task: OCI runtime"问题之前,我们先来了解一下Docker和OCI runtime的基本概念。 Docker是一个开源的应用容器引擎,可以帮助开发者将应用程序和其依赖打包到一个可…...