gpt4 book ai didi

uml - 将 SiDiF 翻译成 Weaviate

转载 作者:行者123 更新时间:2023-12-04 04:00:48 25 4
gpt4 key购买 nike

我在Simple Data Interchange Format中有几个本体描述并希望转换或导入它们以将它们与 Weaviate 一起使用。

可以在以下位置找到示例:

http://cr.bitplan.com/index.php/CrSchema#sidif (请参阅下面的源代码)。

我能够手动创建类和属性,但我不确定如何在 Weaviates Schema 描述样式中建立关系。例如。如果我有一个“事件”类并想为其链接城市我该怎么做?

您将在 http://cr.bitplan.com/index.php/Concept:Event 找到有关架构的更多详细信息还有一个 UML 图: UML Diagram 也可在 http://diagrams.bitplan.com/render/png/0x2637ba5e.png 获得.

是否可以将 SiDIF 文件的域核心转换为一般的 Weaviate Schema 样式?

CrSchema

#
# Context:CrSchema
#
CrSchema isA Context
"CrSchema" is name of it
"http://cr.bitplan.com" is master of it
"2020-07-22" is since of it
#
# Event
#
Event isA Topic
"Event" is name of it
"Events" is pluralName of it
"a meeting of researchers at a specific time and place" is documentation of it
"a meeting of researchers at a specific time and place (virtual or physical) and with a specific thematic focus to present, hear and discuss research outputs " is wikiDocumentation of it
"File:EventLogo-64px.png" is icon of it
"/images/cr/e/e0/EventLogo-64px.png" is iconUrl of it
"property" is defaultstoremode of it
"CrSchema" is context of it
Event_acronym addsTo it
# properties of Event
# property acronym
Event_acronym isA Property
"acronym" is name of it
"acronym" is label of it
"text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The official acronym of the academic event, if it has one. " is documentation of it
false is isLink of it
"Event" is topic of it
# property wikidataid
Event_wikidataid isA Property
"wikidataid" is name of it
"wikidataid" is label of it
"text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The wikidataid of the event" is documentation of it
false is isLink of it
"Event" is topic of it
#
# City
#
City isA Topic
"City" is name of it
"Cities" is pluralName of it
"large permanent human settlement" is documentation of it
"[https://www.wikidata.org/wiki/Q515 large permanent human settlement]" is wikiDocumentation of it
"property" is defaultstoremode of it
"File:CityIcon-64px.png" is icon of it
"/images/cr/9/9e/CityIcon-64px.png" is iconUrl of it
"CrSchema" is context of it
City_name addsTo it
City_wikidataid addsTo it
# properties of City
# property name
City_name isA Property
"name" is name of it
"name" is label of it
"text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The name of the city" is documentation of it
false is isLink of it
"City" is topic of it
# property wikidataid
City_wikidataid isA Property
"wikidataid" is name of it
"wikidataid" is label of it
"text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The wikidataid of the city" is documentation of it
false is isLink of it
"City" is topic of it
#
# Country
#
Country isA Topic
"Country" is name of it
"Countries" is pluralName of it
"distinct region in geography; a broad term that can include political divisions or regions associated with distinct political characteristics" is documentation of it
"[https://www.wikidata.org/wiki/Q6256 distinct region in geography; a broad term that can include political divisions or regions associated with distinct political characteristics]" is wikiDocumentation of it
"File:CountryIcon-64px.png" is icon of it
"/images/cr/4/4c/CountryIcon-64px.png" is iconUrl of it
"property" is defaultstoremode of it
"CrSchema" is context of it
Country_name addsTo it
Country_wikidataid addsTo it
# properties of Country
# property name
Country_name isA Property
"name" is name of it
"name" is label of it
"text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The name of the Country" is documentation of it
false is isLink of it
"Country" is topic of it
# property wikidataid
Country_wikidataid isA Property
"wikidataid" is name of it
"wikidataid" is label of it
"text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The wikidataid of the Country" is documentation of it
false is isLink of it
"Country" is topic of it
#
# State
#
State isA Topic
"State" is name of it
"States" is pluralName of it
"territorial and constitutional community forming part of a federal union" is documentation of it
"[https://www.wikidata.org/wiki/Q107390 territorial and constitutional community forming part of a federal union]" is wikiDocumentation of it
"File:StateIcon-64px.png" is icon of it
"/images/cr/f/fe/StateIcon-64px.png" is iconUrl of it
"property" is defaultstoremode of it
"CrSchema" is context of it
State_name addsTo it
State_wikidataid addsTo it
# properties of State
# property name
State_name isA Property
"name" is name of it
"name" is label of it
"text" is type of it
1 is index of it
1 is sortPos of it
true is primaryKey of it
true is mandatory of it
50 is size of it
false is uploadable of it
"The name of the State" is documentation of it
false is isLink of it
"State" is topic of it
# property wikidataid
State_wikidataid isA Property
"wikidataid" is name of it
"wikidataid" is label of it
"text" is type of it
2 is index of it
false is primaryKey of it
false is mandatory of it
50 is size of it
false is uploadable of it
"The wikidataid of the State" is documentation of it
false is isLink of it
"State" is topic of it
#
# TopicLinks
#
# Event n : 1 City
Event_in_City isA TopicLink
"eventInCity" is name of it
"city" is sourceRole of it
false is sourceMultiple of it
"City" is source of it
"event" is targetRole of it
true is targetMultiple of it
"Event" is target of it
# Event n : 1 State
Event_in_State isA TopicLink
"eventInState" is name of it
"state" is sourceRole of it
false is sourceMultiple of it
"State" is source of it
"event" is targetRole of it
true is targetMultiple of it
"Event" is target of it
# Event n : 1 Country
Event_in_Country isA TopicLink
"eventInCountry" is name of it
"country" is sourceRole of it
false is sourceMultiple of it
"Country" is source of it
"event" is targetRole of it
true is targetMultiple of it
"Event" is target of it

最佳答案

您首先需要定义一个引用属性。它们具有作为 dataType 的引用类。例如。用于引用城市:

{
"name": "inCity",
"description": "city reference",
"dataType": [
"City"
],
"cardinality": "many"
}

然后您可以通过信标添加引用:

curl -X POST "http://localhost:8080/v1/things/c60505f9-8271-4eec-b998-81d016648d85/references/hasEvent" -H 'Content-Type: application/json' -d '{"beacon": "weaviate://localhost/things/2a8d56b7-2dd5-4e68-aa40-53c9196aecde"}'

在此示例中,具有 uuid c60505f9-8271-4eec-b998-81d016648d85 的对象的属性 hasEvent 正在引用具有 uuid 2a8d56b7-2dd5 的对象-4e68-aa40-53c9196aecde.

检查 reference documentation了解更多信息。

这是一个使用 python 客户端的最小示例:

#pip install weaviate-client==0.4.0
import weaviate
import time

schema = {
"things": {
"type": "thing",
"classes": [
{
"class": "Event",
"description": "event",
"properties": [
{
"name": "acronym",
"description": "acronym",
"dataType": [
"text"
]
},
{
"name": "inCity",
"description": "city reference",
"dataType": [
"City"
],
"cardinality": "many"
}
]
},
{
"class": "City",
"description": "city",
"properties": [
{
"name": "name",
"description": "name",
"dataType": [
"text"
]
},
{
"name": "hasEvent",
"description": "event references",
"dataType": [
"Event"
],
"cardinality": "many"
}
]
}
]
}
}


client = weaviate.Client("http://localhost:8080")

if not client.contains_schema():
client.create_schema(schema)

event = {"acronym": "example"}
client.create(event, "Event", "2a8d56b7-2dd5-4e68-aa40-53c9196aecde")
city = {"name": "Amsterdam"}
client.create(city, "City", "c60505f9-8271-4eec-b998-81d016648d85")

time.sleep(2.0)
client.add_reference("c60505f9-8271-4eec-b998-81d016648d85", "hasEvent", "2a8d56b7-2dd5-4e68-aa40-53c9196aecde")

Would it be possible to convert the domain core of SiDIF files to Weaviate Schema style in general?

这取决于您的用例和您想要投入的工作量。

  • 如果您只对语义功能感兴趣:在这种情况下,您可能根本不需要构建复杂的模式。只创建 4 个类 subjectpredicateobjecttriple 并像这样加载所有内容可能就足够了。
  • 您想加载一组特定的定义:您必须将感兴趣的词汇复制为一个 weaviate 模式。 Weaviate 不支持类继承,因此您必须通过引用以某种方式定义它们。如果您的词汇表定义清晰,这应该是相对简单的。
  • 您想动态加载各种词汇表:我不完全确定这是否容易实现。我假设您必须构建一个非常精细的解析器。

希望这有助于欢呼。

关于uml - 将 SiDiF 翻译成 Weaviate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63075787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com