Как мне описать температуру с минимальными / максимальными значениями в RDFlib с schema.org? - PullRequest
0 голосов
/ 04 мая 2020

Я использую schema.org для создания файла RDF / XML, используя RDFlib в Python, и пытаюсь вложить элементы в элемент PropertyValue следующим образом, но он не работает ...

g.add((p, n.PropertyValue, (p, n.minValue, Literal(130.15))))

Я пытаюсь получить такой результат ...

<schema:PropertyValue>
    <schema:maxValue rdf:datatype="http://www.w3.org/2001/XMLSchema#double">308.0</schema:maxValue>
    <schema:name>Temperature</schema:name>
    <schema:minValue rdf:datatype="http://www.w3.org/2001/XMLSchema#double">130.15</schema:minValue>
</schema:PropertyValue>

Как я могу сделать это в RDFlib? Заранее спасибо.

1 Ответ

0 голосов
/ 06 мая 2020

Согласно вашим данным, пустой узел, [], с именем, свойством minValue и maxValue:

[] a <https://schema.org/PropertyValue> ;
    schema:name "Temperature" ;
    schema:minValue "130.15"^^xsd:double ;
    schema:maxValue "308.0"^^xsd:double ;

Лучше использовать URI для свойства PropertyValue:

<http://example.org/propval/1>
    a <https://schema.org/PropertyValue> ;
    schema:name "Temperature" ;
    schema:minValue "130.15"^^xsd:double ;
    schema:maxValue "308.0"^^xsd:double ;

Используйте этот RDFlib Python:

SDO = Namespace("https://schema.org/")
g.bind("schema", SDO)

pv = URIRef("http://example.org/propval/1")
g.add((pv, RDF.type, SDO.PropertyValue))
g.add((pv, SDO.name, Literal("Temperature")))
g.add((pv, SDO.minValue, Literal("130.15", datatype=XSD.double)))
g.add((pv, SDO.maxValue, Literal("308.0", datatype=XSD.double)))

...