我在Simple Data Interchange Format中有几个本体描述,并希望将其转换或导入以便与Weaviate结合使用。
可以在以下位置找到示例:
http://cr.bitplan.com/index.php/CrSchema#sidif(请参见下面的源代码)。
我能够手动创建类和属性,但是我不确定如何在Weaviates Schema描述样式中进行关系。例如。如果我有一个“活动”类,并想为其链接城市我该怎么办?
您将在http://cr.bitplan.com/index.php/Concept:Event上找到有关该模式的更多详细信息,并且还有一个UML图:
也可以在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
答案 0 :(得分:1)
您首先需要定义一个引用属性。它们的引用类为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 hasEvent
的对象的事物的属性c60505f9-8271-4eec-b998-81d016648d85
引用具有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")
一般可以将SiDIF文件的域核心转换为Weaviate Schema样式吗?
这取决于您的用例和您要投入的工作量。
subject
,predicate
,object
和triple
并像这样加载所有内容就足够了。希望这有助于加油。